mirror of
https://github.com/samba-team/samba.git
synced 2025-10-23 11:33:16 +03:00
r11354: - generate a ejs error on bad ldif to add/modify
- fixed a double free error in ldb.close()
This commit is contained in:
committed by
Gerald (Jerry) Carter
parent
896704f5c1
commit
7f797e7097
@@ -129,7 +129,7 @@ static int ejs_ldbAddModify(MprVarHandle eid, int argc, struct MprVar **argv,
|
||||
const char *ldifstring;
|
||||
struct ldb_context *ldb;
|
||||
struct ldb_ldif *ldif;
|
||||
int ret = 0;
|
||||
int ret = 0, count=0;
|
||||
|
||||
if (argc != 1) {
|
||||
ejsSetErrorMsg(eid, "ldb.add/modify invalid arguments");
|
||||
@@ -148,11 +148,17 @@ static int ejs_ldbAddModify(MprVarHandle eid, int argc, struct MprVar **argv,
|
||||
}
|
||||
|
||||
while ((ldif = ldb_ldif_read_string(ldb, &ldifstring))) {
|
||||
count++;
|
||||
ret = fn(ldb, ldif->msg);
|
||||
talloc_free(ldif);
|
||||
if (ret != 0) break;
|
||||
}
|
||||
|
||||
if (count == 0) {
|
||||
ejsSetErrorMsg(eid, "ldb.add/modify invalid ldif");
|
||||
return -1;
|
||||
}
|
||||
|
||||
mpr_Return(eid, mprCreateBoolVar(ret == 0));
|
||||
return 0;
|
||||
}
|
||||
@@ -384,8 +390,6 @@ static int ejs_ldbClose(MprVarHandle eid, int argc, struct MprVar **argv)
|
||||
return -1;
|
||||
}
|
||||
|
||||
talloc_free(ldb);
|
||||
|
||||
mprSetThisPtr(eid, "db", NULL);
|
||||
mpr_Return(eid, mprCreateBoolVar(True));
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user