}
} else { /* local file */
char resolved_path[MAXPATHLEN];
- if (!VCWD_REALPATH(buffer, resolved_path)) {
+
+ if (buffer_len && VCWD_REALPATH(buffer, resolved_path)) {
+ ret_val = (char *) magic_file(finfo->magic, buffer);
+ } else {
RETURN_FALSE;
}
-
- ret_val = (char *) magic_file(finfo->magic, buffer);
goto common;
}
} else { /* buffer */
--- /dev/null
+--TEST--
+finfo_file(): Testing file names
+--FILE--
+<?php
+
+$fp = finfo_open();
+var_dump(finfo_file($fp, ''));
+var_dump(finfo_file($fp, NULL));
+var_dump(finfo_file($fp, '.'));
+var_dump(finfo_file($fp, '&'));
+
+?>
+--EXPECT--
+bool(false)
+bool(false)
+string(9) "directory"
+bool(false)