From: Martin Kletzander Date: Wed, 22 Nov 2017 20:52:17 +0000 (+0100) Subject: util: Fix leak in virStringTrimOptionalNewline X-Git-Tag: v3.10.0-rc1~79 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ea7b2a6d04f5c354b1cda941362ba8ac42e92278;p=thirdparty%2Flibvirt.git util: Fix leak in virStringTrimOptionalNewline Do not access any data if strlen() == 0. Signed-off-by: Martin Kletzander --- diff --git a/src/util/virstring.c b/src/util/virstring.c index eac4774b53..b2ebce27ff 100644 --- a/src/util/virstring.c +++ b/src/util/virstring.c @@ -1394,9 +1394,13 @@ virStringEncodeBase64(const uint8_t *buf, size_t buflen) */ void virStringTrimOptionalNewline(char *str) { - char *tmp = str + strlen(str) - 1; - if (*tmp == '\n') - *tmp = '\0'; + size_t len = strlen(str); + + if (!len) + return; + + if (str[len - 1] == '\n') + str[len - 1] = '\0'; }