Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion ext/standard/link.c
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,11 @@ PHP_FUNCTION(linkinfo)
Z_PARAM_PATH(link, link_len)
ZEND_PARSE_PARAMETERS_END();

// TODO Check for empty string
if (UNEXPECTED(link_len == 0)) {
zend_argument_must_not_be_empty_error(1);
RETURN_THROWS();
}

dirname = estrndup(link, link_len);
zend_dirname(dirname, link_len);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,16 @@ var_dump( symlink($filename, false) ); // false as linkname
echo "\n*** Testing linkinfo() for error conditions ***\n";

//invalid arguments
var_dump( linkinfo('') ); // empty string as linkname
var_dump( linkinfo(false) ); // boolean false as linkname
try {
var_dump(linkinfo('')); // empty string as linkname
} catch (ValueError $e) {
echo $e->getMessage() . "\n";
}
try {
var_dump(linkinfo(false)); // boolean false as linkname
} catch (ValueError $e) {
echo $e->getMessage() . "\n";
}

echo "Done\n";
?>
Expand All @@ -54,9 +62,6 @@ bool(false)

*** Testing linkinfo() for error conditions ***

Warning: linkinfo(): %s in %s on line %d
int(-1)

Warning: linkinfo(): %s in %s on line %d
int(-1)
linkinfo(): Argument #1 ($path) must not be empty
linkinfo(): Argument #1 ($path) must not be empty
Done