diff --git a/cmdutils.c b/cmdutils.c index 8b8eacc3b1..ca1c965edc 100644 --- a/cmdutils.c +++ b/cmdutils.c @@ -278,7 +278,7 @@ static int write_option(void *optctx, const OptionDef *po, const char *opt, if (po->flags & OPT_STRING) { char *str; str = av_strdup(arg); -// av_freep(dst); + av_freep(dst); *(char **)dst = str; } else if (po->flags & OPT_BOOL || po->flags & OPT_INT) { *(int *)dst = parse_number_or_die(opt, arg, OPT_INT64, INT_MIN, INT_MAX); diff --git a/ffserver.c b/ffserver.c index 1a9f13c734..8acd59173b 100644 --- a/ffserver.c +++ b/ffserver.c @@ -308,7 +308,7 @@ static int rtp_new_av_stream(HTTPContext *c, static const char *my_program_name; -static const char *config_filename = "/etc/ffserver.conf"; +static const char *config_filename; static int ffserver_debug; static int no_launch; @@ -4716,6 +4716,9 @@ int main(int argc, char **argv) parse_options(NULL, argc, argv, options, NULL); + if (!config_filename) + config_filename = av_strdup("/etc/ffserver.conf"); + unsetenv("http_proxy"); /* Kill the http_proxy */ av_lfg_init(&random_state, av_get_random_seed()); @@ -4728,6 +4731,7 @@ int main(int argc, char **argv) fprintf(stderr, "Incorrect config file - exiting.\n"); exit(1); } + av_freep(&config_filename); /* open log file if needed */ if (logfilename[0] != '\0') {