rpm/fix-fd-leak.diff

19 lines
563 B
Diff
Raw Normal View History

Summary: Do not leak file descriptors
Author: Stephan Kulow <coolo@suse.de>
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;