bpo-38353: Fix calculate_argv0_path() for symlinks (GH-16549)

calculate_argv0_path() must read argv0_path link, not read
program_full_path link.
This commit is contained in:
Victor Stinner 2019-10-03 23:17:00 +02:00 committed by GitHub
parent b23a8423a9
commit 86ec5c65fe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 1 additions and 1 deletions

View File

@ -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,