com php-src: fix signed/unsigned mismatch: ext/standard/string.c

From: Date: Tue, 16 Sep 2014 20:15:27 +0000
Subject: com php-src: fix signed/unsigned mismatch: ext/standard/string.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-81691@lists.php.net to get a copy of this message
Commit: 7ba43ea05241ad474d40ab199c6a710e21048cd5 Author: Anatol Belski <ab@php.net> Tue, 16 Sep 2014 22:15:27 +0200 Parents: 8c4ab0d02edd1cd6f353ce9e411cd43f726ed441 Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=7ba43ea05241ad474d40ab199c6a710e21048cd5 Log: fix signed/unsigned mismatch Changed paths: M ext/standard/string.c Diff: diff --git a/ext/standard/string.c b/ext/standard/string.c index 0c41249..7b18acf 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -780,7 +780,7 @@ static inline int php_charmask(unsigned char *input, size_t len, char *mask TSRM */ PHPAPI char *php_trim(char *c, size_t len, char *what, size_t what_len, zval *return_value, int mode TSRMLS_DC) { - register zend_long i; + register size_t i; size_t trimmed = 0; char mask[256]; @@ -802,12 +802,15 @@ PHPAPI char *php_trim(char *c, size_t len, char *what, size_t what_len, zval *re c += trimmed; } if (mode & 2) { - for (i = len - 1; i >= 0; i--) { - if (mask[(unsigned char)c[i]]) { - len--; - } else { - break; - } + if (len > 0) { + i = len - 1; + do { + if (mask[(unsigned char)c[i]]) { + len--; + } else { + break; + } + } while (i-- != 0); } }

« previous php.cvs (#81691) next »