Package: libdb4.3 Version: 4.3.29-8 Severity: wishlist Tags: patch Hi,
I'm sorry I can't tell you anything terribly useful about this patch. I'm just the messenger. It was rattling around internally at work, and I wanted to get it further upstream. regards Andrew -- System Information: Debian Release: 4.0 APT prefers stable APT policy: (500, 'stable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.18-3-686 Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8) Versions of packages libdb4.3 depends on: ii libc6 2.3.6.ds1-13etch5 GNU C Library: Shared libraries libdb4.3 recommends no packages. -- no debconf information
fix memory leak; free real_name before returning --- db/db_upg.c.orig 2007-06-26 14:54:10.618212000 -0700 +++ db/db_upg.c 2007-06-28 19:46:59.224067000 -0700 @@ -94,13 +94,16 @@ fhp = NULL; /* Get the real backing file name. */ - if ((ret = __db_appname(dbenv, - DB_APP_DATA, fname, 0, NULL, &real_name)) != 0) + if ((ret = __db_appname(dbenv, DB_APP_DATA, fname, 0, NULL, + &real_name)) != 0) { + __os_free(dbenv, real_name); return (ret); + } /* Open the file. */ if ((ret = __os_open(dbenv, real_name, 0, 0, &fhp)) != 0) { __db_err(dbenv, "%s: %s", real_name, db_strerror(ret)); + __os_free(dbenv, real_name); return (ret); } @@ -218,12 +221,16 @@ * needs upgrading is the meta-database page, don't * bother with a full pass. */ - if ((ret = __qam_31_qammeta(dbp, real_name, mbuf)) != 0) + if ((ret = __qam_31_qammeta(dbp, real_name, mbuf)) != 0) { + __os_free(dbenv, real_name); return (ret); + } /* FALLTHROUGH */ case 2: - if ((ret = __qam_32_qammeta(dbp, real_name, mbuf)) != 0) + if ((ret = __qam_32_qammeta(dbp, real_name, mbuf)) != 0) { + __os_free(dbenv, real_name); return (ret); + } if ((ret = __os_seek(dbenv, fhp, 0, 0, 0, 0, DB_OS_SEEK_SET)) != 0) goto err;