From 1ab38c1b8db075160b0a7edee12832290219f424 Mon Sep 17 00:00:00 2001 From: Packit Service Date: Dec 09 2020 21:28:20 +0000 Subject: Apply patch lmdb-covscan.patch patch_name: lmdb-covscan.patch present_in_specfile: true --- diff --git a/libraries/liblmdb/midl.c b/libraries/liblmdb/midl.c index 75420c4..fb0ae63 100644 --- a/libraries/liblmdb/midl.c +++ b/libraries/liblmdb/midl.c @@ -120,9 +120,15 @@ void mdb_midl_free(MDB_IDL ids) void mdb_midl_shrink( MDB_IDL *idp ) { MDB_IDL ids = *idp; - if (*(--ids) > MDB_IDL_UM_MAX && - (ids = realloc(ids, (MDB_IDL_UM_MAX+2) * sizeof(MDB_ID)))) + MDB_IDL res = NULL; + if (*(--ids) > MDB_IDL_UM_MAX) { + res = realloc(ids, (MDB_IDL_UM_MAX+2) * sizeof(MDB_ID)); + if (res) + ids = res; + else + return; + *ids++ = MDB_IDL_UM_MAX; *idp = ids; } @@ -131,10 +137,13 @@ void mdb_midl_shrink( MDB_IDL *idp ) static int mdb_midl_grow( MDB_IDL *idp, int num ) { MDB_IDL idn = *idp-1; + MDB_IDL res = NULL; /* grow it */ - idn = realloc(idn, (*idn + num + 2) * sizeof(MDB_ID)); - if (!idn) + res = realloc(idn, (*idn + num + 2) * sizeof(MDB_ID)); + if (!res) return ENOMEM; + else + idn = res; *idn++ += num; *idp = idn; return 0;