]> git.sur5r.net Git - openldap/blobdiff - libraries/liblmdb/midl.c
ITS#8363 Fix off-by-one in mdb_midl_shrink
[openldap] / libraries / liblmdb / midl.c
index 16782dcafc1c7fc99559b4cb1af62bd790af1968..5c6d841a7adcaeb713df9a21f6bdecec014cb564 100644 (file)
@@ -116,17 +116,15 @@ void mdb_midl_free(MDB_IDL ids)
                free(ids-1);
 }
 
-int mdb_midl_shrink( MDB_IDL *idp )
+void mdb_midl_shrink( MDB_IDL *idp )
 {
        MDB_IDL ids = *idp;
        if (*(--ids) > MDB_IDL_UM_MAX &&
-               (ids = realloc(ids, (MDB_IDL_UM_MAX+1) * sizeof(MDB_ID))))
+               (ids = realloc(ids, (MDB_IDL_UM_MAX+2) * sizeof(MDB_ID))))
        {
                *ids++ = MDB_IDL_UM_MAX;
                *idp = ids;
-               return 1;
        }
-       return 0;
 }
 
 static int mdb_midl_grow( MDB_IDL *idp, int num )