From: Jeremy Allison Date: Fri, 22 Jun 2007 17:36:10 +0000 (+0000) Subject: r23590: Fix realloc leak on failure case from Jim Meyering . X-Git-Tag: samba-misc-tags/initial-v3-0-unstable~129 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d7b39e4534d85c84e8b24668ab7d7a93d5647c23;p=thirdparty%2Fsamba.git r23590: Fix realloc leak on failure case from Jim Meyering . Jeremy. --- diff --git a/source/lib/tdb/common/tdb.c b/source/lib/tdb/common/tdb.c index 25103d826e5..dce6b58ac8c 100644 --- a/source/lib/tdb/common/tdb.c +++ b/source/lib/tdb/common/tdb.c @@ -566,8 +566,12 @@ int tdb_append(struct tdb_context *tdb, TDB_DATA key, TDB_DATA new_dbuf) if (dbuf.dptr == NULL) { dbuf.dptr = (unsigned char *)malloc(new_dbuf.dsize); } else { - dbuf.dptr = (unsigned char *)realloc(dbuf.dptr, + unsigned char *new_dptr = (unsigned char *)realloc(dbuf.dptr, dbuf.dsize + new_dbuf.dsize); + if (new_dptr == NULL) { + free(dbuf.dptr); + } + dbuf.dptr = new_dptr; } if (dbuf.dptr == NULL) {