trivial-httpd: Fix leak of option context

Right now our valgrind runs also end up valgrinding the
`trivial-httpd` code, so while it doesn't matter, let's fix this leak
anyways.  We need to avoid calling `_exit()` since that won't run the
cleanup functions.

Closes: #410
Approved by: giuseppe
This commit is contained in:
Colin Walters 2016-07-24 14:54:07 -04:00 committed by Atomic Bot
parent bac1fa1839
commit 7f335a8437
1 changed files with 3 additions and 5 deletions

View File

@ -386,7 +386,7 @@ gboolean
ostree_builtin_trivial_httpd (int argc, char **argv, GCancellable *cancellable, GError **error)
{
gboolean ret = FALSE;
GOptionContext *context;
g_autoptr(GOptionContext) context = NULL;
const char *dirpath;
OtTrivialHttpd appstruct = { 0, };
OtTrivialHttpd *app = &appstruct;
@ -501,8 +501,8 @@ ostree_builtin_trivial_httpd (int argc, char **argv, GCancellable *cancellable,
}
else if (pid > 0)
{
/* Parent */
_exit (0);
ret = TRUE;
goto out;
}
/* Child, continue */
/* Daemonising: close stdout/stderr so $() et al work on us */
@ -559,7 +559,5 @@ ostree_builtin_trivial_httpd (int argc, char **argv, GCancellable *cancellable,
out:
g_clear_object (&app->root);
g_clear_object (&app->log);
if (context)
g_option_context_free (context);
return ret;
}