]> granicus.if.org Git - procps-ng/commitdiff
0049-proc/escape.c: Handle negative wcwidth() return value.
authorQualys Security Advisory <qsa@qualys.com>
Thu, 1 Jan 1970 00:00:00 +0000 (00:00 +0000)
committerCraig Small <csmall@enc.com.au>
Sat, 9 Jun 2018 11:35:19 +0000 (21:35 +1000)
This should never happen, because wcwidth() is called only if iswprint()
returns nonzero. But belt-and-suspenders, and make it visually clear
(very important for the next patch).

proc/escape.c

index 62123530fe57bf32c6100cb4803e5f60da237087..114860af5ee472e446cd83bec5d958db542438c7 100644 (file)
@@ -90,7 +90,7 @@ static int escape_str_utf8(char *restrict dst, const char *restrict src, int buf
       /* multibyte - printable */
       int wlen = wcwidth(wc);
 
-      if (wlen==0) {
+      if (wlen<=0) {
        // invisible multibyte -- we don't ignore it, because some terminal
        // interpret it wrong and more safe is replace it with '?'
        *(dst++) = '?';