summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@nvidia.com>2020-11-18 08:54:51 -0500
committerDonald Sharp <sharpd@nvidia.com>2020-11-18 08:54:51 -0500
commit1d06fc711a498928638cf554d0e8d29afb5cd561 (patch)
tree77ae52ce45bdef46d190985ffa06662cb8f98495
parentb83bb9aa629a0361bc76fa90beb6f6e7d2b57332 (diff)
lib: Cleanup mem-leaks in error case
When we fail to properly lookup an error code, properly cleanup on return. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
-rw-r--r--lib/ferr.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/ferr.c b/lib/ferr.c
index 7b923da177..691da495cf 100644
--- a/lib/ferr.c
+++ b/lib/ferr.c
@@ -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);
}