diff options
author | David Lamparter <equinox@diac24.net> | 2019-08-06 16:54:52 +0200 |
---|---|---|
committer | David Lamparter <equinox@diac24.net> | 2019-08-06 16:54:52 +0200 |
commit | fefa5e0ff5af98d8258987e21422243926ee2b3c (patch) | |
tree | 05ad830d4a48048156689b15a5c84df124964cb6 /tools/coccinelle | |
parent | Merge pull request #4776 from pogojotz/write-config-fix (diff) | |
download | frr-fefa5e0ff5af98d8258987e21422243926ee2b3c.tar.xz frr-fefa5e0ff5af98d8258987e21422243926ee2b3c.zip |
*: fix ctype (isalpha & co.) casts
The correct cast for these is (unsigned char), because "char" could be
signed and thus have some negative value. isalpha & co. expect an int
arg that is positive, i.e. 0-255. So we need to cast to (unsigned char)
when calling any of these.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'tools/coccinelle')
-rw-r--r-- | tools/coccinelle/ctype_cast.cocci | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tools/coccinelle/ctype_cast.cocci b/tools/coccinelle/ctype_cast.cocci new file mode 100644 index 000000000..b0b00959d --- /dev/null +++ b/tools/coccinelle/ctype_cast.cocci @@ -0,0 +1,11 @@ + +@@ +identifier func =~ "^(to|is)(alnum|cntrl|print|xdigit|alpha|digit|punct|ascii|graph|space|blank|lower|upper)$"; +expression e; +@@ + + func( +- (int) ++ (unsigned char) + e) + |