mirror of
https://github.com/php/php-src.git
synced 2025-08-20 09:24:05 +02:00
MFB: Thread-safety issues
This commit is contained in:
parent
053747b512
commit
3fb8bece12
1 changed files with 3 additions and 1 deletions
|
@ -62,6 +62,8 @@ int php_scandir(const char *dirname, struct dirent **namelist[], int (*selector)
|
||||||
struct dirent *dp = NULL;
|
struct dirent *dp = NULL;
|
||||||
int vector_size = 0;
|
int vector_size = 0;
|
||||||
int nfiles = 0;
|
int nfiles = 0;
|
||||||
|
char entry[sizeof(struct dirent)+MAXPATHLEN];
|
||||||
|
struct dirent *result = (struct dirent *)&entry;
|
||||||
|
|
||||||
if (namelist == NULL) {
|
if (namelist == NULL) {
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -71,7 +73,7 @@ int php_scandir(const char *dirname, struct dirent **namelist[], int (*selector)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
while ((dp = readdir(dirp)) != NULL) {
|
while ((dp = php_readdir_r(dirp, (struct dirent *)entry, &result)) == 0 && result) {
|
||||||
int dsize = 0;
|
int dsize = 0;
|
||||||
struct dirent *newdp = NULL;
|
struct dirent *newdp = NULL;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue