int ret, nofile=0;
long uid=0L, gid=0L, duid=0L, dgid=0L;
char path[MAXPATHLEN];
- char *s;
+ char *s, filenamecopy[MAXPATHLEN];
TSRMLS_FETCH();
+ strlcpy(filenamecopy, filename, MAXPATHLEN);
+ filename=(char *)&filenamecopy;
+
if (!filename) {
return 0; /* path must be provided */
}
/*
* If given filepath is a URL, allow - safe mode stuff
* related to URL's is checked in individual functions
- */
+ */
if (!strncasecmp(filename,"http://", 7) || !strncasecmp(filename,"ftp://", 6)) {
return 1;
}
VCWD_REALPATH(filename, path);
*s = DEFAULT_SLASH;
} else {
- VCWD_GETCWD(path, MAXPATHLEN);
+ VCWD_GETCWD(path, sizeof(path));
}
} /* end CHECKUID_ALLOW_ONLY_DIR */