From: Victor Stinner Date: Thu, 3 Oct 2019 21:17:00 +0000 (+0200) Subject: bpo-38353: Fix calculate_argv0_path() for symlinks (GH-16549) X-Git-Tag: v3.9.0a1~268 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=86ec5c65fe04ece16f3aada5292cc62726062ad0;p=thirdparty%2FPython%2Fcpython.git bpo-38353: Fix calculate_argv0_path() for symlinks (GH-16549) calculate_argv0_path() must read argv0_path link, not read program_full_path link. --- diff --git a/Modules/getpath.c b/Modules/getpath.c index 4246d4ca5ac0..fca87c7b0ee9 100644 --- a/Modules/getpath.c +++ b/Modules/getpath.c @@ -959,7 +959,7 @@ calculate_argv0_path(PyCalculatePath *calculate, const wchar_t *program_full_pat #if HAVE_READLINK wchar_t tmpbuffer[MAXPATHLEN + 1]; const size_t buflen = Py_ARRAY_LENGTH(tmpbuffer); - int linklen = _Py_wreadlink(program_full_path, tmpbuffer, buflen); + int linklen = _Py_wreadlink(argv0_path, tmpbuffer, buflen); while (linklen != -1) { if (_Py_isabs(tmpbuffer)) { /* tmpbuffer should never be longer than MAXPATHLEN,