From: Tom Tromey Date: Wed, 15 Nov 2023 13:48:55 +0000 (-0700) Subject: Check gdb_python_module in gdbpy_handle_missing_debuginfo X-Git-Tag: binutils-2_42~953 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7d21600b31fe959b758ed475a2211d6805047df9;p=thirdparty%2Fbinutils-gdb.git Check gdb_python_module in gdbpy_handle_missing_debuginfo If you run gdb in the build tree without --data-directory, on a program that does not have debug info, it will crash, because gdbpy_handle_missing_debuginfo unconditionally uses gdb_python_module. Other code in gdb using gdb_python_module checks it first and it seemes harmless to do the same thing here. (gdb_python_initialized does not cover this case so that python can be partially initialized and still somewhat work.) --- diff --git a/gdb/python/python.c b/gdb/python/python.c index 4523e30ed24..7e48165db21 100644 --- a/gdb/python/python.c +++ b/gdb/python/python.c @@ -1703,7 +1703,7 @@ gdbpy_handle_missing_debuginfo (const struct extension_language_defn *extlang, struct objfile *objfile) { /* Early exit if Python is not initialised. */ - if (!gdb_python_initialized) + if (!gdb_python_initialized || gdb_python_module == nullptr) return {}; struct gdbarch *gdbarch = objfile->arch ();