From: Andrea Bolognani Date: Fri, 11 Feb 2022 16:14:52 +0000 (+0100) Subject: virbuffer: Simplify virBufferEscapeShell() X-Git-Tag: v8.1.0-rc1~96 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=622e6293d9b1f88def251ce9d75c0a5fa2f30229;p=thirdparty%2Flibvirt.git virbuffer: Simplify virBufferEscapeShell() We can exit early when the input is an empty string, and we can avoid storing the string length in a variable since we only use that information once. Signed-off-by: Andrea Bolognani Reviewed-by: Michal Privoznik --- diff --git a/src/util/virbuffer.c b/src/util/virbuffer.c index a4834174a1..19cf775a8c 100644 --- a/src/util/virbuffer.c +++ b/src/util/virbuffer.c @@ -552,7 +552,6 @@ virBufferURIEncodeString(virBuffer *buf, const char *str) void virBufferEscapeShell(virBuffer *buf, const char *str) { - int len; g_autofree char *escaped = NULL; char *out; const char *cur; @@ -560,21 +559,19 @@ virBufferEscapeShell(virBuffer *buf, const char *str) if ((buf == NULL) || (str == NULL)) return; - /* Only quote if str includes shell metacharacters. */ - if (*str && !strpbrk(str, "\r\t\n !\"#$&'()*;<>?[\\]^`{|}~")) { - virBufferAdd(buf, str, -1); + if (!*str) { + virBufferAddLit(buf, "''"); return; } - if (*str) { - len = strlen(str); - - escaped = g_malloc0_n(len + 1, 4); - } else { - virBufferAddLit(buf, "''"); + /* Only quote if str includes shell metacharacters. */ + if (!strpbrk(str, "\r\t\n !\"#$&'()*;<>?[\\]^`{|}~")) { + virBufferAdd(buf, str, -1); return; } + escaped = g_malloc0_n(strlen(str) + 1, 4); + cur = str; out = escaped;