From: Karel Zak Date: Tue, 4 Oct 2016 14:14:48 +0000 (+0200) Subject: lib/mbsalign: free buffer after error [coverity scan] X-Git-Tag: v2.29-rc2~30 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a86b9f252c9d04a23cee9422b4e03ab3d79e348b;p=thirdparty%2Futil-linux.git lib/mbsalign: free buffer after error [coverity scan] Signed-off-by: Karel Zak --- 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