]> git.ipfire.org Git - thirdparty/lldpd.git/commitdiff
coverity: remove a theoritical memory leak
authorVincent Bernat <bernat@luffy.cx>
Fri, 22 Nov 2013 22:20:30 +0000 (23:20 +0100)
committerVincent Bernat <bernat@luffy.cx>
Fri, 22 Nov 2013 22:20:30 +0000 (23:20 +0100)
If cargc is 0, cargv should not have been allocated. However, to be more
robust, let's say this is possible and handle this case correctly.

src/client/lldpcli.c

index 8d96fd067e87f8df26364b6d1bb2017c99e7f81e..5498c579b5e23833657cb839963bc7b755493b14 100644 (file)
@@ -305,10 +305,12 @@ parse_and_exec(lldpctl_conn_t *conn, const char *fmt, const char *line)
                log_warnx("lldpctl", "unmatched quotes");
                return -1;
        }
-       if (cargc == 0) return 0;
-       n = cmd_exec(conn, fmt, cargc, (const char **)cargv);
+       if (cargc != 0)
+               n = cmd_exec(conn, fmt, cargc, (const char **)cargv);
        tokenize_free(cargc, cargv);
-       return (n == 0)?-1:1;
+       return (cargc == 0)?0:
+           (n == 0)?-1:
+           1;
 }
 
 static struct cmd_node*