Buffer Overflow with Python 2.5 on Vista in import site

F

Fuzzyman

A very odd error with Python 2.5 (both 2.5.1 and 2.5.2 from the
official msi installers and running on Vista under Parallels on the
Mac).

'import site' fails due to a string in sys.path that contains a huge
number of null bytes.

The error is actually in ntpath - I adjusted it to print the paths it
is working with and a string on encountering the bad path.

Because 'import site' is executed twice with the following code I
snipped the first dump and only print the one with the traceback:

C:\Users\Administrator>python -c "import site"

[snip]

'import site' failed; use -v for traceback
set(['c:\\python25\\lib\\plat-win', 'c:\\windows\\system32\
\python25.zip', 'c:\\
python25', 'c:\\python25\\lib\\lib-tk', 'c:\\users\\administrator', 'c:
\\python2
5\\dlls', 'c:\\python25\\lib', 'c:\\python25\\lib\\site-packages'])

******************** BAD PATH ********************
"C:\\Python25\\lib\\site-packages\\\x00\x05\x16\x07\x00\x02\x00\x00Mac
OS X
\x00\x02\x00\x00\x00\t\x00\x00\x002\x00\x00\x0e
\xb0\x00\x00\x00\x02\x00\x00\x
0e\xe2\x00\x00\x01\x1e
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00AT
TR\x00\x00\x00!\x00\x00\x0e\xe2\x00\x00\x00\x98\x00\x00\x00
\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x98\x00\x00\x00
\x00\x0
0\x15com.macromates.caret\x00x\x9c\xab\xe6R\x00\x82\xe4\xfc\x9c
\xd2\xdc<\x05[\x0
5\x03k0?'3/\x15\xc2\xab\x05\x00\x8b\x99\x08\x1d
\x00\x00\x00\x00\x00\x00\x00\x00\
x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\

[snip a load of null bytes]

x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x1eThis resource
fork intent
ionally left blank
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0

[snip a load more null bytes]

0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0
0\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x1e
\x00\x00\x00\x00\x0
0\x00\x00\x00\x00\x1c\x00\x1e\xff\xff"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Python25\lib\site.py", line 417, in <module>
main()
File "C:\Python25\lib\site.py", line 402, in main
paths_in_sys = addsitepackages(paths_in_sys)
File "C:\Python25\lib\site.py", line 206, in addsitepackages
addsitedir(sitedir, known_paths)
File "C:\Python25\lib\site.py", line 169, in addsitedir
addpackage(sitedir, name, known_paths)
File "C:\Python25\lib\site.py", line 141, in addpackage
dir, dircase = makepath(sitedir, line)
File "C:\Python25\lib\site.py", line 67, in makepath
dir = os.path.abspath(os.path.join(*paths))
File "C:\Python25\lib\ntpath.py", line 500, in abspath
path = _getfullpathname(path)
TypeError: _getfullpathname() argument 1 must be (buffer overflow),
not str


Odd. Anyone got any clues?

Michael Foord
http://www.ironpythoninaction.com
 
G

Gabriel Genellina

A very odd error with Python 2.5 (both 2.5.1 and 2.5.2 from the
official msi installers and running on Vista under Parallels on the
Mac).

It may be actually a Parallels issue - I've installed 2.5.1 on Vista (just
once, on a real PC) and it worked fine. Anyway a better place for bug
reports is bugs.python.org

Mmm, maybe you should check all your .pth files - looks like this strange
path comes from one of them.
 
F

Fuzzyman

It may be actually a Parallels issue - I've installed 2.5.1 on Vista (just
once, on a real PC) and it worked fine. Anyway a better place for bug
reports is bugs.python.org

Mmm, maybe you should check all your .pth files - looks like this strange
path comes from one of them.


I think it comes from the '._something.pth' that Textmate created as a
temporary file when I edited a 'pth' file. The 'macromates' text in
their is from textmate. I'm not sure if it is Mac specific or Texmate
specific, but those temp files are really annoying.

Thanks.

Michael
http://www.ironpythoninaction.com/
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,961
Messages
2,570,130
Members
46,689
Latest member
liammiller

Latest Threads

Top