summaryrefslogtreecommitdiff
path: root/source4/ldap_server
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2007-05-21 12:47:18 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:52:43 -0500
commit931f594cf16b8c7f9f416d7a8831432b783a0ec8 (patch)
tree3fca99de9b35314f20034e015b6e0a7fa436f634 /source4/ldap_server
parent43da48650ac5e8eaa3d8445c096fd9386c0afb18 (diff)
downloadsamba-931f594cf16b8c7f9f416d7a8831432b783a0ec8.tar.gz
samba-931f594cf16b8c7f9f416d7a8831432b783a0ec8.tar.bz2
samba-931f594cf16b8c7f9f416d7a8831432b783a0ec8.zip
r23036: error checking on asn1_init() failure
(This used to be commit 26cf8494084c0106ef0e1c9b6ef40eeadf945ef2)
Diffstat (limited to 'source4/ldap_server')
-rw-r--r--source4/ldap_server/ldap_server.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/source4/ldap_server/ldap_server.c b/source4/ldap_server/ldap_server.c
index 9aefbed485..03fb10b4de 100644
--- a/source4/ldap_server/ldap_server.c
+++ b/source4/ldap_server/ldap_server.c
@@ -137,11 +137,13 @@ static NTSTATUS ldapsrv_decode(void *private, DATA_BLOB blob)
struct asn1_data *asn1 = asn1_init(conn);
struct ldap_message *msg = talloc(conn, struct ldap_message);
- if (msg == NULL) {
+ if (asn1 == NULL || msg == NULL) {
return NT_STATUS_NO_MEMORY;
}
if (!asn1_load(asn1, blob)) {
+ talloc_free(msg);
+ talloc_free(asn1);
return NT_STATUS_NO_MEMORY;
}