Hello community, here is the log from the commit of package rpm for openSUSE:Factory checked in at 2012-09-27 10:29:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rpm (Old) and /work/SRC/openSUSE:Factory/.rpm.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rpm", Maintainer is "[email protected]" Changes: -------- rpm-python.changes: same change --- /work/SRC/openSUSE:Factory/rpm/rpm.changes 2012-09-26 16:27:10.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.rpm.new/rpm.changes 2012-09-27 10:29:18.000000000 +0200 @@ -1,0 +2,6 @@ +Wed Sep 26 14:13:48 UTC 2012 - [email protected] + +- fix rpm leaking file descriptors of packages: + patch fix-fd-leak.diff + +------------------------------------------------------------------- New: ---- fix-fd-leak.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ rpm-python.spec: same change ++++++ rpm.spec ++++++ --- /var/tmp/diff_new_pack.QVeOdv/_old 2012-09-27 10:29:21.000000000 +0200 +++ /var/tmp/diff_new_pack.QVeOdv/_new 2012-09-27 10:29:21.000000000 +0200 @@ -134,6 +134,7 @@ Patch79: helperenv.diff Patch80: obsoletesdeptag.diff Patch81: fdopen_strncat.diff +Patch82: fix-fd-leak.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build # # avoid bootstrapping problem @@ -210,7 +211,7 @@ %patch -P 50 -P 51 -P 52 -P 53 -P 54 -P 55 -P 56 -P 57 -P 58 -P 59 %patch -P 60 -P 61 -P 62 -P 63 -P 64 -P 65 -P 66 -P 67 -P 68 -P 69 %patch -P 70 -P 71 -P 72 -P 73 -P 74 -P 75 -P 76 -P 77 -P 78 -P 79 -%patch -P 80 -P 81 +%patch -P 80 -P 81 -P 82 #chmod 755 scripts/find-supplements{,.ksyms} #chmod 755 scripts/find-provides.ksyms scripts/find-requires.ksyms #chmod 755 scripts/firmware.prov ++++++ fix-fd-leak.diff ++++++ Summary: Do not leak file descriptors Author: Stephan Kulow <[email protected]> There is nothing closing the file, the notify callback tries to, but gets passed a 0 pointer, so this is the easiest solution. Michael contacts upstream to find out what the real solution is --- lib/rpmte.c +++ lib/rpmte.c @@ -717,6 +717,8 @@ static int rpmteClose(rpmte te, int rese case TR_ADDED: if (te->fd) { rpmtsNotify(te->ts, te, RPMCALLBACK_INST_CLOSE_FILE, 0, 0); + if (te->fd) /* not yet closed */ + Fclose(te->fd); te->fd = NULL; } break; -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
