os.stat() crashes on Win32
Jason Orendorff
jason at jorendorff.com
Tue Dec 18 12:27:50 EST 2001
I just grabbed the latest out of CVS, built it using VC6, and tried
to run python_d.exe. It bails out (a memory-management assertion fails)
while running site.py.
site.py calls os.path.isdir(), which calls os.stat(), which calls
the C function posix_do_stat() in Modules/posixmodule.c
(lines 677-725). In my case, it is being called with the argument
"C:\\Program Files\\ActivePython22\\Pythonwin\\" (this, including
the trailing backslash, is due to a registry setting).
The result:
char *path = NULL;
char pathcopy[MAX_PATH];
...
/* populate 'path' using PyArg_ParseTuple(), line 690 */
...
path = pathcopy; // line 712
...
PyMem_Free(path); // line 723
It appears to be a bug in posixmodule.c. The bug is only enabled
on MS_WIN32, thanks to some #ifdef's in the code.
What's going on here? Why doesn't this cause crashes in the
binary distribution of Python 2.2c1? Am I building it wrong?
--
Jason Orendorff http://www.jorendorff.com/
More information about the Python-list
mailing list