[PATCH 2/2] Fix warning -Wchar-subscripts in isspace() and isdigit()

Aschref Ben-Thabet aschref.ben-thabet at embedded-brains.de
Mon Aug 3 15:11:04 UTC 2020


From: Aschref Ben Thabet <aschref.ben-thabet at embedded-brains.de>

The warning may be because you're passing a char to the isspace() macro.

The implementation of isspace() may be via array indexing.

This means that the index for the array can be negative.

This can be a problem as a char could represent a signed value, and you
may be requesting a negative index.

(The argument to the isspace()/isdegit() macro is defined to be an
unsigned char the value of which can fit in an unsigned char).
---
 ...subscripts-in-isspace-and-isdigit-.patch.swp | Bin 0 -> 12288 bytes
 cpukit/libdl/rtl-archive.c                      |   4 ++--
 2 files changed, 2 insertions(+), 2 deletions(-)
 create mode 100644 .0001-Fix-warning-Wchar-subscripts-in-isspace-and-isdigit-.patch.swp

diff --git a/.0001-Fix-warning-Wchar-subscripts-in-isspace-and-isdigit-.patch.swp b/.0001-Fix-warning-Wchar-subscripts-in-isspace-and-isdigit-.patch.swp
new file mode 100644
index 0000000000000000000000000000000000000000..aea5dc67017f9072d8024cb40115c73be8c1cea5
GIT binary patch
literal 12288
zcmeHNOOG2x5blHs2oRnpBo38C+8xL4 at jSe?<4slxAyFc<64Gu0(z00dXxq(>$JTUv
zA0)t$GaNY}!3FpUT*#Fh0wm56zkm}La^RcsIJ<EkV&Mepkw5qJbai#rH&rEBuF$!0
zZI#-#!*IRG*zH%X?vsmmSbvMLKt+R0^txfb_LwUaDc6G_6q=_YPaY}x(LIHAl|}VT
zi=nDJj^pwxa+mJ}St`>$e>)lk8CR1~MVTCH#bwH+QsW>JJV;~Q$FeUqx5t5w29G?<
zEEon119J?VV7})Tseby at NqXhw>vQX7Y8WsK7zPXjh5^HXVZbn87%&X{pBd2OBkW^1
zc(in~S&m2M#&T)~!+>GHFkl!k3>XFs1BL;^fMLKeU>GnA7zX}>3<NP_D^D at zJq_dW
z|Nrdw|93AiwhOEQ$AP23 at 6R*#1Mm&-HSivA8n|<Uv9EwH00}gKW55%@_s=o*Ij{%3
z0~`bXe3r3af!n~Rz#4EBr~$75F9CO-VeCiXGvE_o3)leuIL_G5z?Z-nr~|*j_FsUX
zfNy~v;7#BXumW at dAIN=l0dpA!3<HJ%!+>GHFmPxFJlkv99^;%C5#7wcM507K5)A{j
zMdwNBOphiBSwYs{-pC(zakp6`2cOC^s}ji`S!FMuWld5g`>BX2Z~m*?ziGqStW+4E
z+aXi^P`Sb=qD<&XmXf=io0T7RvS>H#_F~=b3*Frgl8NxW(m)rMoytW2RE?DUK#U+i
z!2!P4)s-481aX`RrC`N{3&efDU29QwI^e;+Vl at y+(p5skvs4q at h-!sLbf$1=v%;#?
zDuwlEJlT at Ep2%=0RoMy2VcN7OGQZ=6E;|CvoPxt_kZCM-$@ikOQB$}rVcR}>EWI#l
zI}LIjr`c$*SoV6vIoc=>rTcJ}=iyLZoQK7Wn9bEjM&Mx+k+S%%vv^?bW*!>TYiA%6
zK~_jB<j}$bl}(`Y!D7vnRi;t$*v)i6nw94eg|H)0#LIA*KL2okov2#<Hx8W3wf|!e
z=5{~ag*<G#y70s~Kxg?F#}_%7h?J}a5VnaNEZx6Z1oe{Jthqi_%kf at VXF5UVMgzGm
zR5uv~aW@*JJ=rH~8uka*&miKbk`KmtoFKLnUJ5)Ut{)JX#<2)n&4wE~e#5rgJ+JM!
zOD)9i<KuW<*L`t2zsMMQ)I+GLJXO=ah->7NOqIyA9Hq*tq6GL9i$qN4yu#@3CotWD
z`YJ!TW!{4FMeGl^sDX&%JWqahUuh&g5LDDILXkp-L<5R~6!vSFOt_ng7lqVj);czz
z_)LZZ6-kc at 1+z@5)KP#1s(@8N;f}Hqatx04WL}9O8)9q9at(4gPDHLE$T`T*zNZ5_
z_j1W?8Q`D{lj6;xmD?`1mVMnbu~0<8L<!m(O%^jj<3K5hQZTKP^9D}MvhiDPlxiH$
z*Rvp1J(2OtX*7zlvqSAr>izY-vFMN%yShG30+}usdQp<kUthn%+idmP>ScaIWD0I{
z$VK1#^a!>#3Evly?$E|t7uPRc-6Zs+)6Dh<n$mN!_ZdK2I%Y*%x>aFs1R5r+j?z4A
zE>8O7Ii5pqqvN|B|14E8bJ&$^H0;pDX@@<%j=WqiI_T+K*(7i8chz4I!%)Prh<TX7
zC1uBArBFakzvcNo&ucfE$PwW?t<Z_$cD%H7R=936YPzo5XnJvO4XueWxh-;>PVs?R
Hj?4Z6+n=gx

literal 0
HcmV?d00001

diff --git a/cpukit/libdl/rtl-archive.c b/cpukit/libdl/rtl-archive.c
index 8f280157ff..e99d9e54a1 100644
--- a/cpukit/libdl/rtl-archive.c
+++ b/cpukit/libdl/rtl-archive.c
@@ -516,13 +516,13 @@ rtems_rtl_archives_load_config (rtems_rtl_archives* archives)
       {
         size_t ls = strlen (&s[r]);
         size_t b = 0;
-        while (b < ls && isspace((unsigned char)(s[r + b])))
+        while (b < ls && isspace ((unsigned char)(s[r + b])))
         {
           s[r + b] = '\0';
           ++b;
         }
         b = ls - 1;
-        while (b > 0 && isspace((unsigned char)(s[r + b])))
+        while (b > 0 && isspace ((unsigned char)(s[r + b])))
         {
           s[r + b] = '\0';
           --b;
-- 
2.26.2



More information about the devel mailing list