diff options
-rw-r--r-- | ext/standard/string.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/ext/standard/string.c b/ext/standard/string.c index 65a261eb7c..dd761f1da0 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -552,6 +552,8 @@ PHPAPI void php_dirname(char *str, int len) { #endif ) *c='\0'; + else + *str='\0'; } /* {{{ proto string dirname(string path) @@ -567,7 +569,11 @@ PHP_FUNCTION(dirname) convert_to_string_ex(str); ret = estrdup((*str)->value.str.val); php_dirname(ret,(*str)->value.str.len); - RETVAL_STRING(ret,1); + if(*ret) { + RETVAL_STRING(ret,1); + } else { + RETVAL_FALSE; + } efree(ret); } /* }}} */ |