[collectd] [PATCH] exec plugin: Fixed a possible (though very	improbable) memory leak.
    Sebastian Harl 
    sh at tokkee.org
       
    Sun Jan 27 23:26:41 CET 2008
    
    
  
In case of an error, the program_list_and_notification_t pointer has not been
freed before calling pthread_exit() from exec_notification_one().
Signed-off-by: Sebastian Harl <sh at tokkee.org>
---
 src/exec.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/src/exec.c b/src/exec.c
index e7648bd..d5a8d0f 100644
--- a/src/exec.c
+++ b/src/exec.c
@@ -581,8 +581,10 @@ static void *exec_notification_one (void *arg) /* {{{ */
   const char *severity;
 
   pid = fork_child (pl, &fd, NULL);
-  if (pid < 0)
+  if (pid < 0) {
+    sfree (arg);
     pthread_exit ((void *) 1);
+  }
 
   fh = fdopen (fd, "w");
   if (fh == NULL)
@@ -593,6 +595,7 @@ static void *exec_notification_one (void *arg) /* {{{ */
     kill (pl->pid, SIGTERM);
     pl->pid = 0;
     close (fd);
+    sfree (arg);
     pthread_exit ((void *) 1);
   }
 
-- 
1.5.4.rc4.23.gcab31
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://mailman.verplant.org/pipermail/collectd/attachments/20080127/d88b90fd/attachment.pgp 
    
    
More information about the collectd
mailing list