]> granicus.if.org Git - php/commitdiff
fix infinite loop
authorAnatol Belski <ab@php.net>
Fri, 24 Oct 2014 22:32:45 +0000 (00:32 +0200)
committerAnatol Belski <ab@php.net>
Fri, 24 Oct 2014 22:32:45 +0000 (00:32 +0200)
ext/standard/string.c

index 1d9948dcad359d54fdfbe0c841c366eb105ade14..b60baa6b7b8e73bb6eebc1b4f97bc9e056ed0114 100644 (file)
@@ -2764,13 +2764,13 @@ PHP_FUNCTION(ucwords)
 PHPAPI char *php_strtr(char *str, size_t len, char *str_from, char *str_to, size_t trlen)
 {
        size_t i;
-       unsigned char xlat[256], j;
+       unsigned char xlat[256], j = 0;
 
        if ((trlen < 1) || (len < 1)) {
                return str;
        }
 
-       for (j = 0; j < 256; xlat[j] = j, j++);
+       do { xlat[j] = j; } while (++j != 0);
 
        for (i = 0; i < trlen; i++) {
                xlat[(size_t) str_from[i]] = str_to[i];