From: S.Çağlar Onur Date: Fri, 15 Nov 2013 04:56:04 +0000 (-0500) Subject: fix memory leaks reported by cppcheck in src/lxc/lxc_monitor.c. Since this is a cli... X-Git-Tag: lxc-1.0.0.beta1~140 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9992b49cdeff97c3624b38c96f7a9cc9042eaa40;p=thirdparty%2Flxc.git fix memory leaks reported by cppcheck in src/lxc/lxc_monitor.c. Since this is a cli tool it doesn't really matter but might silence some warnings for debugging Signed-off-by: S.Çağlar Onur Signed-off-by: Serge Hallyn --- diff --git a/src/lxc/lxc_monitor.c b/src/lxc/lxc_monitor.c index 0c277231f..4f5630882 100644 --- a/src/lxc/lxc_monitor.c +++ b/src/lxc/lxc_monitor.c @@ -89,8 +89,10 @@ int main(int argc, char *argv[]) if (regcomp(&preg, regexp, REG_NOSUB|REG_EXTENDED)) { ERROR("failed to compile the regex '%s'", my_args.name); + free(regexp); return -1; } + free(regexp); if (my_args.lxcpath_cnt > FD_SETSIZE) { ERROR("too many paths requested, only the first %d will be monitored", FD_SETSIZE); @@ -104,8 +106,10 @@ int main(int argc, char *argv[]) lxc_monitord_spawn(my_args.lxcpath[i]); fd = lxc_monitor_open(my_args.lxcpath[i]); - if (fd < 0) + if (fd < 0) { + regfree(&preg); return -1; + } FD_SET(fd, &rfds); if (fd > nfds) nfds = fd; @@ -118,8 +122,10 @@ int main(int argc, char *argv[]) for (;;) { memcpy(&rfds, &rfds_save, sizeof(rfds)); - if (lxc_monitor_read_fdset(&rfds, nfds, &msg, -1) < 0) + if (lxc_monitor_read_fdset(&rfds, nfds, &msg, -1) < 0) { + regfree(&preg); return -1; + } msg.name[sizeof(msg.name)-1] = '\0'; if (regexec(&preg, msg.name, 0, NULL, 0))