]> granicus.if.org Git - php/commitdiff
Avoid zero-length keys which result in a spinning process
authorSascha Schumann <sas@php.net>
Sat, 20 Sep 2003 16:09:41 +0000 (16:09 +0000)
committerSascha Schumann <sas@php.net>
Sat, 20 Sep 2003 16:09:41 +0000 (16:09 +0000)
ext/standard/string.c

index 2bf5719bffe7940497a83820f75706e4c3c3f144..0e099dcecf234a3fee40829fee36bc3701a301ed 100644 (file)
@@ -1551,7 +1551,7 @@ PHP_FUNCTION(strrchr)
 
 /* {{{ php_chunk_split
  */
-static char *php_chunk_split(char *src, int srclen, char *end, int endlen,
+static PHP_ATTRIBUTE_MALLOC char *php_chunk_split(char *src, int srclen, char *end, int endlen,
                                                         int chunklen, int *destlen)
 {
        char *dest;
@@ -1940,6 +1940,9 @@ static void php_strtr_array(zval *return_value, char *str, int slen, HashTable *
                switch (zend_hash_get_current_key_ex(hash, &string_key, &string_key_len, &num_key, 0, &hpos)) {
                case HASH_KEY_IS_STRING:
                        len = string_key_len-1;
+                       if (len < 1) {
+                               RETURN_FALSE;
+                       }
                        if (len > maxlen) maxlen = len;
                        if (len < minlen) minlen = len;
                        break;