Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 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
2 changes: 2 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,8 @@ PHP NEWS
throw a ValueError. (alexandre-daubois)
. array_change_key_case() now raises a ValueError when an invalid $case
argument value is passed. (Girgias)
. linkinfo() now raises a ValueError when the argument is an empty string.
(Weilin Du)

- Streams:
. Added so_keepalive, tcp_keepidle, tcp_keepintvl and tcp_keepcnt stream
Expand Down
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";
}
Comment thread
LamentXU123 marked this conversation as resolved.
Outdated

echo "Done\n";
?>
Expand All @@ -53,10 +61,6 @@ Warning: symlink(): %s in %s on line %d
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