summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Faulds <ajf@ajf.me>2014-12-13 22:06:27 +0000
committerAndrea Faulds <ajf@ajf.me>2014-12-13 22:27:10 +0000
commit034e6decb3d1effa85afadcf07973bb8db433960 (patch)
tree3a5753e9c63aeedf8aec2ca30aab0ce726259daf
parent97df260b27c9584c6299700ac8ceb267c6fd61a2 (diff)
downloadphp-git-034e6decb3d1effa85afadcf07973bb8db433960.tar.gz
Fix undefined behaviour in strnatcmp
-rw-r--r--ext/standard/strnatcmp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ext/standard/strnatcmp.c b/ext/standard/strnatcmp.c
index face191a6e..4b07740bea 100644
--- a/ext/standard/strnatcmp.c
+++ b/ext/standard/strnatcmp.c
@@ -117,11 +117,11 @@ PHPAPI int strnatcmp_ex(char const *a, size_t a_len, char const *b, size_t b_len
ca = *ap; cb = *bp;
/* skip over leading zeros */
- while (leading && ca == '0' && (ap+1 < aend) && isdigit(*(ap+1))) {
+ while (leading && ca == '0' && (ap+1 < aend) && isdigit((int)(unsigned char)*(ap+1))) {
ca = *++ap;
}
- while (leading && cb == '0' && (bp+1 < bend) && isdigit(*(bp+1))) {
+ while (leading && cb == '0' && (bp+1 < bend) && isdigit((int)(unsigned char)*(bp+1))) {
cb = *++bp;
}