From: Roy Marples Date: Wed, 2 Oct 2013 08:11:05 +0000 (+0000) Subject: Fix a small memory leak X-Git-Tag: v6.2.0~68 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=21433c922d743db25ecad47a4b6afa01e8965eae;p=thirdparty%2Fdhcpcd.git Fix a small memory leak --- diff --git a/dev.c b/dev.c index 685fac76..d9a65a72 100644 --- a/dev.c +++ b/dev.c @@ -69,6 +69,7 @@ dev_stop(void) if (dev) { syslog(LOG_DEBUG, "dev: unloaded %s", dev->name); dev->stop(); + free(dev); dev = NULL; } if (handle) { @@ -91,7 +92,8 @@ dev_start2(const char *name) syslog(LOG_ERR, "dlopen: %s", dlerror()); return -1; } - fptr = (void (*)(struct dev *, const struct dev_dhcpcd *))dlsym(h, "dev_init"); + fptr = (void (*)(struct dev *, const struct dev_dhcpcd *)) + dlsym(h, "dev_init"); if (fptr == NULL) { syslog(LOG_ERR, "dlsym: %s", dlerror()); dlclose(h); @@ -140,6 +142,7 @@ dev_start1(const char *plugin) if (r != -1) break; } + closedir(dp); return r; }