diff options
author | Chen Wei <weichen302@icloud.com> | 2015-02-17 22:07:35 +0000 |
---|---|---|
committer | Simon Kelley <simon@thekelleys.org.uk> | 2015-02-17 22:07:35 +0000 |
commit | 28b879ac47b872af6e8c5e86d76806c69338434d (patch) | |
tree | 572be89cf895db04a5e3b971e30ab2cec32c39f5 | |
parent | caeea190f12efd20139f694aac4942d1ac00019f (diff) | |
download | dnsmasq-28b879ac47b872af6e8c5e86d76806c69338434d.tar.gz |
Fix trivial memory leaks to quieten valgrind.
-rw-r--r-- | src/dnsmasq.c | 2 | ||||
-rw-r--r-- | src/option.c | 11 |
2 files changed, 11 insertions, 2 deletions
diff --git a/src/dnsmasq.c b/src/dnsmasq.c index e903a24..e6dabbf 100644 --- a/src/dnsmasq.c +++ b/src/dnsmasq.c @@ -627,6 +627,8 @@ int main (int argc, char **argv) } #ifdef HAVE_LINUX_NETWORK + free(hdr); + free(data); if (option_bool(OPT_DEBUG)) prctl(PR_SET_DUMPABLE, 1, 0, 0, 0); #endif diff --git a/src/option.c b/src/option.c index e4b4865..ae0ad00 100644 --- a/src/option.c +++ b/src/option.c @@ -4361,7 +4361,7 @@ void read_opts(int argc, char **argv, char *compile_opts) { char *buff = opt_malloc(MAXDNAME); int option, conffile_opt = '7', testmode = 0; - char *arg, *conffile = CONFFILE; + char *arg, *conffile = NULL; opterr = 0; @@ -4476,7 +4476,14 @@ void read_opts(int argc, char **argv, char *compile_opts) } if (conffile) - one_file(conffile, conffile_opt); + { + one_file(conffile, conffile_opt); + free(conffile); + } + else + { + one_file(CONFFILE, conffile_opt); + } /* port might not be known when the address is parsed - fill in here */ if (daemon->servers) |