From: Andrew Tridgell Date: Mon, 16 Oct 2006 11:03:48 +0000 (+0000) Subject: r19327: fixed a leak in ldif_canonicalise_objectCategory() X-Git-Tag: samba-4.0.0alpha6~801^3~4474 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=64eed1e78e302b8fc71133e115f41f2c7b52b91b;p=thirdparty%2Fsamba.git r19327: fixed a leak in ldif_canonicalise_objectCategory() (This used to be commit 5cc92d915b7442d2eebc4b66ab89bbd15b96a493) --- diff --git a/source4/lib/ldb/samba/ldif_handlers.c b/source4/lib/ldb/samba/ldif_handlers.c index b490c8f005a..46eac2295d6 100644 --- a/source4/lib/ldb/samba/ldif_handlers.c +++ b/source4/lib/ldb/samba/ldif_handlers.c @@ -296,7 +296,7 @@ static int ldif_canonicalise_objectCategory(struct ldb_context *ldb, void *mem_c const struct ldb_val *in, struct ldb_val *out) { struct ldb_dn *dn1 = NULL; - char *oc1; + char *oc1, *oc2; dn1 = ldb_dn_explode(mem_ctx, (char *)in->data); if (dn1 == NULL) { @@ -308,9 +308,11 @@ static int ldif_canonicalise_objectCategory(struct ldb_context *ldb, void *mem_c return -1; } - oc1 = ldb_casefold(ldb, mem_ctx, oc1); - out->data = (void *)oc1; - out->length = strlen(oc1); + oc2 = ldb_casefold(ldb, mem_ctx, oc1); + out->data = (void *)oc2; + out->length = strlen(oc2); + talloc_free(oc1); + talloc_free(dn1); return 0; }