MFB: Thread-safety issues

This commit is contained in:
Ilia Alshanetsky 2006-11-30 16:10:48 +00:00
parent 053747b512
commit 3fb8bece12

View file

@ -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;