svn commit: samba r8084 - in branches/SAMBA_4_0/source/lib/ldb:
common ldb_tdb
idra at samba.org
idra at samba.org
Sat Jul 2 18:43:23 GMT 2005
Author: idra
Date: 2005-07-02 18:43:22 +0000 (Sat, 02 Jul 2005)
New Revision: 8084
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=8084
Log:
do not leak memory on errors
Modified:
branches/SAMBA_4_0/source/lib/ldb/common/ldb_dn.c
branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_tdb.c
Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/common/ldb_dn.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/common/ldb_dn.c 2005-07-02 18:34:13 UTC (rev 8083)
+++ branches/SAMBA_4_0/source/lib/ldb/common/ldb_dn.c 2005-07-02 18:43:22 UTC (rev 8084)
@@ -37,8 +37,8 @@
#include "includes.h"
#include "ldb/include/ldb.h"
#include "ldb/include/ldb_private.h"
+#include <ctype.h>
-
#define LDB_DN_NULL_FAILED(x) if (!(x)) goto failed
static int ldb_dn_is_valid_attribute_name(const char *name)
Modified: branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_tdb.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_tdb.c 2005-07-02 18:34:13 UTC (rev 8083)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_tdb.c 2005-07-02 18:43:22 UTC (rev 8084)
@@ -56,6 +56,8 @@
TDB_DATA key;
char *key_str = NULL;
char *dn_folded = NULL;
+ struct ldb_dn *edn = NULL;
+ struct ldb_dn *cedn = NULL;
/*
most DNs are case insensitive. The exception is index DNs for
@@ -71,8 +73,6 @@
if (*dn == '@') {
dn_folded = talloc_strdup(ldb, dn);
} else {
- struct ldb_dn *edn, *cedn;
-
edn = ldb_dn_explode(ldb, dn);
if (!edn)
goto failed;
@@ -89,10 +89,6 @@
talloc_free(cedn);
}
- if (!dn_folded) {
- goto failed;
- }
-
key_str = talloc_asprintf(ldb, "DN=%s", dn_folded);
talloc_free(dn_folded);
@@ -101,11 +97,13 @@
}
key.dptr = key_str;
- key.dsize = strlen(key_str)+1;
+ key.dsize = strlen(key_str) + 1;
return key;
failed:
+ talloc_free(edn);
+ talloc_free(cedn);
errno = ENOMEM;
key.dptr = NULL;
key.dsize = 0;
More information about the samba-cvs
mailing list