-dce
[oweals/gnunet.git] / src / util / gnunet-uri.c
index 68e7fa04bf4a8081f19bcf1d32632060863f2716..8cc813be51e3ab0292ff46fb741ef99927225e69 100644 (file)
@@ -62,7 +62,7 @@ maint_child_death (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
        (0 == code) )
     ret = 0;
   else
-    GNUNET_OS_process_kill (p, SIGTERM);
+    GNUNET_break (0 == GNUNET_OS_process_kill (p, SIGTERM));
   GNUNET_OS_process_destroy (p);
 }
 
@@ -110,18 +110,21 @@ run (void *cls, char *const *args, const char *cfgfile,
                                             &program))
   {
     fprintf (stderr, _("No handler known for subsystem `%s'\n"), subsystem);
+    GNUNET_free (subsystem);
     return;
   }
+  GNUNET_free (subsystem);
   rt = GNUNET_SCHEDULER_add_read_file (GNUNET_TIME_UNIT_FOREVER_REL,
                                       GNUNET_DISK_pipe_handle (sigpipe,
                                                                GNUNET_DISK_PIPE_END_READ),
                                       &maint_child_death, NULL);   
-  p = GNUNET_OS_start_process (GNUNET_NO,
+  p = GNUNET_OS_start_process (GNUNET_NO, 0,
                               NULL, NULL,
                               program,
                               program,
                               args[0], 
                               NULL);
+  GNUNET_free (program);
   if (NULL == p)
     GNUNET_SCHEDULER_cancel (rt);
 }