com php-src: fix signed/unsigned mismatch: ext/standard/string.c
| From: | Anatol Belski | 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);
}
}