]> granicus.if.org Git - php/commitdiff
Fix one more leak when wrong $needle type provide of strripos
authorReeze Xia <reeze@php.net>
Fri, 23 Jan 2015 09:14:39 +0000 (17:14 +0800)
committerReeze Xia <reeze@php.net>
Fri, 23 Jan 2015 09:14:39 +0000 (17:14 +0800)
ext/standard/string.c
ext/standard/tests/strings/strripos.phpt

index 4f0a6ec6ac63380163cc288feffe4e1f4eb2c270..d6c2a6c3da1545b7cd31a7a40ceb89d6cb980daf 100644 (file)
@@ -2114,6 +2114,7 @@ PHP_FUNCTION(strripos)
                needle = Z_STR_P(zneedle);
        } else {
                if (php_needle_char(zneedle, ord_needle->val) != SUCCESS) {
+                       STR_ALLOCA_FREE(ord_needle, use_heap);
                        RETURN_FALSE;
                }
                ord_needle->val[1] = '\0';
index eb4e70bd354a9d361cd11b17b354bce2a6e39803..924505f6c90182c6175e74c25bd78e0313feb14e 100644 (file)
@@ -15,6 +15,9 @@ strripos() function
        var_dump(@strripos("a", ""));
        var_dump(@strripos("", "a"));
        var_dump(@strripos("\\\\a", "\\a"));
+
+       $fp = fopen(__FILE__, "r");
+       var_dump(@strripos("", $fp));
 ?>
 --EXPECT--
 int(5)
@@ -30,4 +33,5 @@ bool(false)
 bool(false)
 bool(false)
 int(1)
+bool(false)