]> granicus.if.org Git - python/commit
bpo-30167: Prevent site.main() exception if PYTHONSTARTUP is set. (GH-6731) (GH-7607)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Mon, 11 Jun 2018 01:23:41 +0000 (18:23 -0700)
committerNed Deily <nad@python.org>
Mon, 11 Jun 2018 01:23:41 +0000 (21:23 -0400)
commit3e121581d008a780b8a9f1bcda5966cf0c06f6d5
treede38037b69999d61727b5c36117660ee77263efe
parent1d4089b5d208ae6f0bd256304fd77f04c0b4fd41
bpo-30167: Prevent site.main() exception if PYTHONSTARTUP is set. (GH-6731) (GH-7607)

Before Python 3.6, os.path.abspath(None) used to report an AttributeError which was properly caught inside site.abs_paths, making it ignore __main__, one of sys.modules, which has __file__ and __cached__ set to None. With 3.6, os.path.abspath(None) raises TypeError instead which site.abs_path was not expecting.  This resulted in an uncaught exception if a user had PYTHONSTARTUP set and the application called site.main() which a number of third-party programs do.
(cherry picked from commit 2487f30d5529948ace26559e274d7cac6abcd1a8)

Co-authored-by: Steve Weber <steverweber@gmail.com>
Lib/site.py
Misc/ACKS
Misc/NEWS.d/next/Library/2018-06-10-19-29-17.bpo-30167.G5EgC5.rst [new file with mode: 0644]