From a86b9f252c9d04a23cee9422b4e03ab3d79e348b Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 4 Oct 2016 16:14:48 +0200 Subject: [PATCH] lib/mbsalign: free buffer after error [coverity scan] Signed-off-by: Karel Zak --- lib/mbsalign.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/mbsalign.c b/lib/mbsalign.c index c017ed1b3d..731320b074 100644 --- a/lib/mbsalign.c +++ b/lib/mbsalign.c @@ -206,15 +206,16 @@ size_t mbs_safe_encode_size(size_t bytes) char *mbs_safe_encode(const char *s, size_t *width) { size_t sz = s ? strlen(s) : 0; - char *buf; + char *buf, *ret = NULL;; if (!sz) return NULL; buf = malloc(mbs_safe_encode_size(sz)); - if (!buf) - return NULL; - - return mbs_safe_encode_to_buffer(s, width, buf, NULL); + if (buf) + ret = mbs_safe_encode_to_buffer(s, width, buf, NULL); + if (!ret) + free(buf); + return ret; } #ifdef HAVE_WIDECHAR -- 2.47.2