From 6aefc255b67bc5195e8078c860bc00c5b87b72b5 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Tue, 26 Jan 2021 16:14:59 -0600 Subject: [PATCH] roken: Fix rk_strrasvisx() bug --- lib/roken/vis.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/roken/vis.c b/lib/roken/vis.c index 4dfa1da22..16e877f91 100644 --- a/lib/roken/vis.c +++ b/lib/roken/vis.c @@ -427,7 +427,7 @@ rk_strrasvisx(char **out, { size_t want = 4 * len + 4; size_t have = *outsz; - char *s; + char *s = *out; int r; _DIAGASSERT(dst != NULL); @@ -444,12 +444,10 @@ rk_strrasvisx(char **out, *out = s; } **out = '\0'; /* Makes source debugging nicer, that's all */ - if ((r = rk_strsvisx(s, csrc, len, flag, extra)) < 0) { - free(s); + if ((r = rk_strsvisx(*out, csrc, len, flag, extra)) < 0) return r; - } - errno = s ? errno : EINVAL; - return s ? r : -1; + errno = *out ? errno : EINVAL; + return *out ? r : -1; } #if !HAVE_VIS