summaryrefslogtreecommitdiffstats
path: root/daemon/checksum.c
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2010-11-26 10:18:29 +0000
committerRichard W.M. Jones <rjones@redhat.com>2010-11-26 10:18:29 +0000
commit403ac796a5067ac558ceca2409270eb55b477299 (patch)
tree5bad8bf1880a9e4ddfb6b05e595e76d1948f7fac /daemon/checksum.c
parent746c4b7789ad82e7b7521e456069cef8a1a9592c (diff)
downloadlibguestfs-403ac796a5067ac558ceca2409270eb55b477299.tar.gz
libguestfs-403ac796a5067ac558ceca2409270eb55b477299.tar.xz
libguestfs-403ac796a5067ac558ceca2409270eb55b477299.zip
daemon: Close leaked file descriptor along checksum error path (RHBZ#657499).
Diffstat (limited to 'daemon/checksum.c')
-rw-r--r--daemon/checksum.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/daemon/checksum.c b/daemon/checksum.c
index 7967f0c0..cdb0a189 100644
--- a/daemon/checksum.c
+++ b/daemon/checksum.c
@@ -61,8 +61,10 @@ checksum (const char *csumtype, int fd)
int len;
program = program_of_csum (csumtype);
- if (program == NULL)
+ if (program == NULL) {
+ close (fd);
return NULL;
+ }
flags = COMMAND_FLAG_CHROOT_COPY_FILE_TO_STDIN | fd;
r = commandf (&out, &err, flags, program, NULL);