]> git.sur5r.net Git - openldap/commitdiff
Fix valgrind call after malloc failure in mdb.
authorHallvard Furuseth <hallvard@openldap.org>
Fri, 9 Mar 2012 18:22:31 +0000 (19:22 +0100)
committerHallvard Furuseth <hallvard@openldap.org>
Fri, 9 Mar 2012 18:22:31 +0000 (19:22 +0100)
Also line up the code logic a bit.

libraries/libmdb/mdb.c

index 6abadd2fbe17d1146430552d2c327e18af13c0ab..4e3d70dc132c9be65c672e19a4b2af50fdc08770 100644 (file)
@@ -1126,13 +1126,11 @@ static MDB_page *
 mdb_page_malloc(MDB_cursor *mc) {
        MDB_page *ret;
        size_t sz = mc->mc_txn->mt_env->me_psize;
-       if (mc->mc_txn->mt_env->me_dpages) {
-               ret = mc->mc_txn->mt_env->me_dpages;
+       if ((ret = mc->mc_txn->mt_env->me_dpages) != NULL) {
                VGMEMP_ALLOC(mc->mc_txn->mt_env, ret, sz);
                VGMEMP_DEFINED(ret, sizeof(ret->mp_next));
                mc->mc_txn->mt_env->me_dpages = ret->mp_next;
-       } else {
-               ret = malloc(sz);
+       } else if ((ret = malloc(sz)) != NULL) {
                VGMEMP_ALLOC(mc->mc_txn->mt_env, ret, sz);
        }
        return ret;