We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 24a57ae commit 9007787Copy full SHA for 9007787
ext/standard/link.c
@@ -94,20 +94,31 @@ PHP_FUNCTION(readlink)
94
PHP_FUNCTION(linkinfo)
95
{
96
char *link;
97
- int link_len;
+ char *dirname;
98
+ int link_len, dir_len;
99
struct stat sb;
100
int ret;
101
102
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &link, &link_len) == FAILURE) {
103
return;
104
}
105
106
+ dirname = estrndup(link, link_len);
107
+ dir_len = php_dirname(dirname, link_len);
108
+
109
+ if (php_check_open_basedir(dirname TSRMLS_CC)) {
110
+ efree(dirname);
111
+ RETURN_FALSE;
112
+ }
113
114
ret = VCWD_LSTAT(link, &sb);
115
if (ret == -1) {
116
php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", strerror(errno));
117
118
RETURN_LONG(-1L);
119
120
121
122
RETURN_LONG((long) sb.st_dev);
123
124
/* }}} */
0 commit comments