]> granicus.if.org Git - python/commit
bpo-38234: Fix _PyConfig_InitPathConfig() (GH-16335) (GH-16336)
authorVictor Stinner <vstinner@redhat.com>
Mon, 23 Sep 2019 17:50:27 +0000 (19:50 +0200)
committerGitHub <noreply@github.com>
Mon, 23 Sep 2019 17:50:27 +0000 (19:50 +0200)
commit3f5409a3f13c59baa34656bccefdc3728e46c9ef
tree4c8ccb6d3ab77b882186bdcaa6af208e7cc9db30
parentc5c642565e260477ae2fb29d0c86a91e19702ae3
bpo-38234: Fix _PyConfig_InitPathConfig() (GH-16335) (GH-16336)

* _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.

(cherry picked from commit 9c42f8cda552694f3b47d6388d4ae84d61731872)
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