[Python-Dev] cpython (2.7): Fix posixpath.realpath() for multiple pardirs (fixes issue #6975). (original) (raw)
Antoine Pitrou solipsis at pitrou.net
Mon Feb 18 19:02:04 CET 2013
- Previous message: [Python-Dev] cpython (2.7): Fix posixpath.realpath() for multiple pardirs (fixes issue #6975).
- Next message: [Python-Dev] XML DoS vulnerabilities and exploits in Python
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Mon, 18 Feb 2013 19:56:07 +0200 Serhiy Storchaka <storchaka at gmail.com> wrote:
On 18.02.13 19:26, Antoine Pitrou wrote: > On Mon, 18 Feb 2013 11:24:40 +0100 (CET) > serhiy.storchaka <python-checkins at python.org> wrote: >> >> + def testrealpathcurdir(self): >> + self.assertEqual(realpath('.'), os.getcwd()) >> + self.assertEqual(realpath('./.'), os.getcwd()) >> + self.assertEqual(realpath('/'.join(['.'] * 100)), os.getcwd()) >> + >> + def testrealpathpardir(self): >> + self.assertEqual(realpath('..'), dirname(os.getcwd())) >> + self.assertEqual(realpath('../..'), dirname(dirname(os.getcwd()))) >> + self.assertEqual(realpath('/'.join(['..'] * 100)), '/') > > What if there's a symlink along os.getcwd()?
1. AFAIK, os.getcwd() returns the path with resolved symlinks.
Indeed, it seems you are right (under POSIX at least):
“The getcwd() function shall place an absolute pathname of the current working directory in the array pointed to by buf, and return buf. The pathname shall contain no components that are dot or dot-dot, or are symbolic links.”
http://pubs.opengroup.org/onlinepubs/9699919799/functions/getcwd.html
Regards
Antoine.
- Previous message: [Python-Dev] cpython (2.7): Fix posixpath.realpath() for multiple pardirs (fixes issue #6975).
- Next message: [Python-Dev] XML DoS vulnerabilities and exploits in Python
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]