Message289334
When Py_SetPath is used to set up module path at initialization, the Py_SetPath causes getpathp.c::calculate_path not to be called. However, calculate path is the only function calling getpathp.c::get_progpath which initializes the local dllpath static variable.
Later the interpreter tries to load python3.dll and uses dllpath which is empty by default. This empty path gets joined with \python3.dll and \DLLs\python3.dll which is used in the LoadLibraryExW resulting in loading python3.dll from the root location of the windows drive the application is running from.
The behavior was reproduced using PyInstaller but it is present in any embedding application which uses Py_SetPath. |
|
Date |
User |
Action |
Args |
2017-03-10 04:58:18 | Tibor Csonka | set | recipients:
+ Tibor Csonka, paul.moore, tim.golden, zach.ware, steve.dower |
2017-03-10 04:58:18 | Tibor Csonka | set | messageid: <1489121898.66.0.224917416789.issue29778@psf.upfronthosting.co.za> |
2017-03-10 04:58:18 | Tibor Csonka | link | issue29778 messages |
2017-03-10 04:58:17 | Tibor Csonka | create | |
|