Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 218378
Collapse All | Expand All

(-)Modules/posixmodule.c.orig (-8 / +10 lines)
Lines 2179-2189 Link Here
2179
		return NULL;
2179
		return NULL;
2180
	}
2180
	}
2181
	for (;;) {
2181
	for (;;) {
2182
		errno = 0;
2182
		Py_BEGIN_ALLOW_THREADS
2183
		Py_BEGIN_ALLOW_THREADS
2183
		ep = readdir(dirp);
2184
		ep = readdir(dirp);
2184
		Py_END_ALLOW_THREADS
2185
		Py_END_ALLOW_THREADS
2185
		if (ep == NULL)
2186
		if (ep == NULL) {
2186
			break;
2187
			if (errno == 0) {
2188
				break;
2189
			} else {
2190
				closedir(dirp);
2191
				Py_DECREF(d);
2192
				return posix_error_with_allocated_filename(name); 
2193
			}
2194
		}
2187
		if (ep->d_name[0] == '.' &&
2195
		if (ep->d_name[0] == '.' &&
2188
		    (NAMLEN(ep) == 1 ||
2196
		    (NAMLEN(ep) == 1 ||
2189
		     (ep->d_name[1] == '.' && NAMLEN(ep) == 2)))
2197
		     (ep->d_name[1] == '.' && NAMLEN(ep) == 2)))
Lines 2220-2231 Link Here
2220
		}
2228
		}
2221
		Py_DECREF(v);
2229
		Py_DECREF(v);
2222
	}
2230
	}
2223
	if (errno != 0 && d != NULL) {
2224
		/* readdir() returned NULL and set errno */
2225
		closedir(dirp);
2226
		Py_DECREF(d);
2227
		return posix_error_with_allocated_filename(name); 
2228
	}
2229
	closedir(dirp);
2231
	closedir(dirp);
2230
	PyMem_Free(name);
2232
	PyMem_Free(name);
2231
2233

Return to bug 218378