]> git.sur5r.net Git - openldap/commitdiff
ITS#7965 mdb_dn2id
authorLeo Yuriev <leo@yuriev.ru>
Tue, 14 Oct 2014 10:49:25 +0000 (14:49 +0400)
committerHoward Chu <hyc@openldap.org>
Tue, 14 Oct 2014 12:15:16 +0000 (13:15 +0100)
heap corruption due to returning a reference to a local variable

servers/slapd/back-mdb/dn2id.c

index 06e6ad3f92dc76aec7ec4f8501719f8fedb42335..41c4758f95977b33f3ec2ff56bb9741a3a08d2b4 100644 (file)
@@ -346,7 +346,7 @@ mdb_dn2id(
                cursor = mc;
        } else {
                rc = mdb_cursor_open( txn, dbi, &cursor );
-               if ( rc ) return rc;
+               if ( rc ) goto done;
        }
 
        for (;;) {
@@ -470,7 +470,7 @@ mdb_dn2sups(
        key.mv_size = sizeof(ID);
 
        rc = mdb_cursor_open( txn, dbi, &cursor );
-       if ( rc ) return rc;
+       if ( rc ) goto done;
 
        for (;;) {
                key.mv_data = &pid;