dsdb: Fix a crash in an error return
authorVolker Lendecke <vl@samba.org>
Fri, 10 Oct 2014 13:37:55 +0000 (15:37 +0200)
committerJeremy Allison <jra@samba.org>
Sat, 11 Oct 2014 20:02:04 +0000 (22:02 +0200)
In an error return we have

/* Back it out, if it fails on one */
for (i--; i >= 0; i--) {
ldb_next_del_trans(data->partitions[i]->module);
}

With unsigned int i this will spin and del_trans somewhere far off :-)

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source4/dsdb/samdb/ldb_modules/partition.c

index f2624a261269a2a35d6604317ab1a4347e4c5665..b501ff1c0c5c3635167bbf878a99ee963bb7230a 100644 (file)
@@ -805,7 +805,7 @@ static int partition_rename(struct ldb_module *module, struct ldb_request *req)
 /* start a transaction */
 static int partition_start_trans(struct ldb_module *module)
 {
-       unsigned int i;
+       int i;
        int ret;
        struct partition_private_data *data = talloc_get_type(ldb_module_get_private(module),
                                                              struct partition_private_data);