From 6a072982ddd0b8c1597ac2aa17559732c8b5e763 Mon Sep 17 00:00:00 2001 From: Zachary T Welch Date: Wed, 2 Mar 2011 17:40:10 +0100 Subject: [PATCH] Fix file descriptor leakage in maps_init If mmap fails, be sure to close the maps file before returning an error. Signed-off-by: Zachary T Welch Signed-off-by: Ken Werner --- src/os-linux.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/os-linux.h b/src/os-linux.h index af301ce0..4e225dcb 100644 --- a/src/os-linux.h +++ b/src/os-linux.h @@ -80,7 +80,11 @@ maps_init (struct map_iterator *mi, pid_t pid) cp = mmap (0, mi->buf_size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); if (cp == MAP_FAILED) - return -1; + { + close(mi->fd); + mi->fd = -1; + return -1; + } else { mi->offset = 0;