diff --git a/src/tools.c b/src/tools.c index 7a48969ec..cdd9cbe5f 100644 --- a/src/tools.c +++ b/src/tools.c @@ -4744,7 +4744,8 @@ char *indent_msg(char **out, int level) needed = 1 + level * (lf + 1) + len + 1; p = ret = malloc(needed); if (unlikely(!ret)) - return NULL; + goto leave; + in = *out; /* skip initial LFs */ @@ -4764,6 +4765,7 @@ char *indent_msg(char **out, int level) } *p = 0; + leave: free(*out); *out = ret;