diff options
| author | Joseph Sutton <josephsutton@catalyst.net.nz> | 2023-07-07 10:42:01 +1200 |
|---|---|---|
| committer | Andrew Bartlett <abartlet@samba.org> | 2023-08-08 04:39:37 +0000 |
| commit | dc89fabbb506c49bd166680d4f80cdeaec6cb034 (patch) | |
| tree | fb5511573388c266e8f957282b16da981a099927 | |
| parent | 5820558592ba8a16837992648e0dbd61532e803e (diff) | |
| download | samba-dc89fabbb506c49bd166680d4f80cdeaec6cb034.tar.gz samba-dc89fabbb506c49bd166680d4f80cdeaec6cb034.tar.bz2 samba-dc89fabbb506c49bd166680d4f80cdeaec6cb034.zip | |
ldb: Don’t leak ‘msg’
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
| -rw-r--r-- | lib/ldb/pyldb.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/ldb/pyldb.c b/lib/ldb/pyldb.c index cc222ed7f3d..8d38ed83fc9 100644 --- a/lib/ldb/pyldb.c +++ b/lib/ldb/pyldb.c @@ -1396,14 +1396,17 @@ static struct ldb_message *PyDict_AsMessage(TALLOC_CTX *mem_ctx, if (dn_value) { if (!pyldb_Object_AsDn(msg, dn_value, ldb_ctx, &msg->dn)) { PyErr_SetString(PyExc_TypeError, "unable to import dn object"); + TALLOC_FREE(msg); return NULL; } if (msg->dn == NULL) { PyErr_SetString(PyExc_TypeError, "dn set but not found"); + TALLOC_FREE(msg); return NULL; } } else { PyErr_SetString(PyExc_TypeError, "no dn set"); + TALLOC_FREE(msg); return NULL; } @@ -1414,6 +1417,7 @@ static struct ldb_message *PyDict_AsMessage(TALLOC_CTX *mem_ctx, mod_flags, key_str); if (msg_el == NULL) { PyErr_Format(PyExc_TypeError, "unable to import element '%s'", key_str); + TALLOC_FREE(msg); return NULL; } memcpy(&msg->elements[msg_pos], msg_el, sizeof(*msg_el)); |
