[lxc-devel] [PATCH] 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
S.Çağlar Onur
caglar at 10ur.org
Fri Nov 15 04:56:04 UTC 2013
Signed-off-by: S.Çağlar Onur <caglar at 10ur.org>
---
src/lxc/lxc_monitor.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/lxc/lxc_monitor.c b/src/lxc/lxc_monitor.c
index 0c27723..4f56308 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))
--
1.8.3.2
More information about the lxc-devel
mailing list