From a14dd7502bf8a36a33eabb9b15bde734677c72a5 Mon Sep 17 00:00:00 2001 From: Felipe Pena Date: Fri, 4 Jun 2010 00:10:15 +0000 Subject: [PATCH] - Fixed bug #51991 (spl_autoload and *nix support with namespace) --- NEWS | 1 + ext/spl/php_spl.c | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/NEWS b/NEWS index ddb727d113..ae964462a0 100644 --- a/NEWS +++ b/NEWS @@ -67,6 +67,7 @@ PHP NEWS requests (Fixes CVE-2010-0397, bug #51288). (Raphael Geissert) - Fixed 64-bit integer overflow in mhash_keygen_s2k(). (Clément LECIGNE, Stas) +- Fixed bug #51991 (spl_autoload and *nix support with namespace). (Felipe) - Fixed bug #51911 (ReflectionParameter::getDefaultValue() memory leaks with constant array). (Felipe) - Fixed bug #51905 (ReflectionParameter fails if default value is an array diff --git a/ext/spl/php_spl.c b/ext/spl/php_spl.c index d83d5ebe00..69b07162af 100755 --- a/ext/spl/php_spl.c +++ b/ext/spl/php_spl.c @@ -231,6 +231,17 @@ static int spl_autoload(const char *class_name, const char * lc_name, int class_ class_file_len = spprintf(&class_file, 0, "%s%s", lc_name, file_extension); +#if DEFAULT_SLASH != '\\' + { + char *ptr = class_file; + char *end = ptr + class_file_len; + + while ((ptr = memchr(ptr, '\\', (end - ptr))) != NULL) { + *ptr = DEFAULT_SLASH; + } + } +#endif + ret = php_stream_open_for_zend_ex(class_file, &file_handle, ENFORCE_SAFE_MODE|USE_PATH|STREAM_OPEN_FOR_INCLUDE TSRMLS_CC); if (ret == SUCCESS) { -- 2.50.1