diff options
author | David Hewitt <1939362+davidhewitt@users.noreply.github.com> | 2023-02-08 14:23:57 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-08 14:23:57 +0000 |
commit | 3a88de7a0af00872d9d57e1d98bc2f035cb15a1c (patch) | |
tree | 6980d24f24656b6df38556e3ac9826e8e9cf47b4 | |
parent | eb49d32b9af0b3b01a5588626179187f11d145c9 (diff) | |
download | cpython-3a88de7a0af00872d9d57e1d98bc2f035cb15a1c.tar.gz cpython-3a88de7a0af00872d9d57e1d98bc2f035cb15a1c.zip |
gh-101614: Don't treat python3_d.dll as a Python DLL when checking extension modules for incompatibility (GH-101615)
-rw-r--r-- | Misc/NEWS.d/next/Windows/2023-02-07-18-22-54.gh-issue-101614.NjVP0n.rst | 1 | ||||
-rw-r--r-- | Python/dynload_win.c | 9 |
2 files changed, 6 insertions, 4 deletions
diff --git a/Misc/NEWS.d/next/Windows/2023-02-07-18-22-54.gh-issue-101614.NjVP0n.rst b/Misc/NEWS.d/next/Windows/2023-02-07-18-22-54.gh-issue-101614.NjVP0n.rst new file mode 100644 index 00000000000..8ed0995d789 --- /dev/null +++ b/Misc/NEWS.d/next/Windows/2023-02-07-18-22-54.gh-issue-101614.NjVP0n.rst @@ -0,0 +1 @@ +Correctly handle extensions built against debug binaries that reference ``python3_d.dll``. diff --git a/Python/dynload_win.c b/Python/dynload_win.c index c03bc5602bf..7bd04d573df 100644 --- a/Python/dynload_win.c +++ b/Python/dynload_win.c @@ -125,14 +125,15 @@ static char *GetPythonImport (HINSTANCE hModule) !strncmp(import_name,"python",6)) { char *pch; -#ifndef _DEBUG - /* In a release version, don't claim that python3.dll is - a Python DLL. */ + /* Don't claim that python3.dll is a Python DLL. */ +#ifdef _DEBUG + if (strcmp(import_name, "python3_d.dll") == 0) { +#else if (strcmp(import_name, "python3.dll") == 0) { +#endif import_data += 20; continue; } -#endif /* Ensure python prefix is followed only by numbers to the end of the basename */ |