]> git.puffer.fish Git - matthieu/frr.git/commitdiff
lib: Cleanup mem-leaks in error case
authorDonald Sharp <sharpd@nvidia.com>
Wed, 18 Nov 2020 13:54:51 +0000 (08:54 -0500)
committerDonald Sharp <sharpd@nvidia.com>
Wed, 18 Nov 2020 13:54:51 +0000 (08:54 -0500)
When we fail to properly lookup an error code, properly cleanup
on return.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
lib/ferr.c

index 7b923da17761e1bfa529b53569a743b71d436772..691da495cf13dd318fa08fdef23c87defb1fed63 100644 (file)
@@ -121,8 +121,12 @@ void log_ref_display(struct vty *vty, uint32_t code, bool json)
 
        if (code) {
                ref = log_ref_get(code);
-               if (!ref)
+               if (!ref) {
+                       if (top)
+                               json_object_free(top);
+                       list_delete(&errlist);
                        return;
+               }
                listnode_add(errlist, ref);
        }