VPP-1486: stat segment file descriptor leak 67/18167/3
authorOle Troan <ot@cisco.com>
Sun, 10 Mar 2019 20:26:14 +0000 (21:26 +0100)
committerNeale Ranns <nranns@cisco.com>
Mon, 11 Mar 2019 09:08:39 +0000 (09:08 +0000)
Close the mmap file descriptor at first opportunity.

Change-Id: If8faa1de0a57dc7d8abb3eed97861813b841bd92
Signed-off-by: Ole Troan <ot@cisco.com>
src/vpp-api/client/stat_client.c

index 25a37f7..761c73f 100644 (file)
@@ -141,16 +141,19 @@ stat_segment_connect_r (const char *socket_name, stat_client_main_t * sm)
 
   if (fstat (mfd, &st) == -1)
     {
+      close (mfd);
       perror ("mmap fstat failed");
       return -4;
     }
   if ((memaddr =
        mmap (NULL, st.st_size, PROT_READ, MAP_SHARED, mfd, 0)) == MAP_FAILED)
     {
+      close (mfd);
       perror ("mmap map failed");
       return -5;
     }
 
+  close (mfd);
   sm->memory_size = st.st_size;
   sm->shared_header = memaddr;
   sm->directory_vector =