]> granicus.if.org Git - python/commit
bpo-38234: Fix _PyConfig_InitPathConfig() (GH-16335)
authorVictor Stinner <vstinner@redhat.com>
Mon, 23 Sep 2019 16:47:29 +0000 (18:47 +0200)
committerGitHub <noreply@github.com>
Mon, 23 Sep 2019 16:47:29 +0000 (18:47 +0200)
commit9c42f8cda552694f3b47d6388d4ae84d61731872
tree644cebf8bd718b5726054b4b73bb0b6443adcfc1
parent88e6447451fb5525e83e802c66c3e51b4a45bf86
bpo-38234: Fix _PyConfig_InitPathConfig() (GH-16335)

* _PyConfig_InitPathConfig() now starts by copying the global path
  configuration, and then override values set in PyConfig.
* _PyPathConfig_Calculate() implementations no longer override
  _PyPathConfig fields which are already computed. For example,
  if _PyPathConfig.prefix is not NULL, leave it unchanged.
* If Py_SetPath() has been called, _PyConfig_InitPathConfig() doesn't
  call _PyPathConfig_Calculate() anymore.
* _PyPathConfig_Calculate() no longer uses PyConfig,
  except to initialize PyCalculatePath structure.
* pathconfig_calculate(): remove useless temporary
  "_PyPathConfig new_config" variable.
* calculate_module_search_path(): remove hack to workaround memory
  allocation failure, call Py_FatalError() instead.
* Fix get_program_full_path(): handle memory allocation failure.
Misc/NEWS.d/next/C API/2019-09-20-17-22-41.bpo-38234.ZbquVK.rst
Modules/getpath.c
PC/getpathp.c
Python/pathconfig.c