Index: source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp =================================================================== --- source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp +++ source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp @@ -2780,7 +2780,13 @@ basename = pathname; // not a filename, probably a package of some sort, // let it go through } else if (is_directory(st) || is_regular_file(st)) { - std::string directory = target_file.GetDirectory().GetCString(); + const char *dir_cstr = target_file.GetDirectory().GetCString(); + if (!dir_cstr) { + error.SetErrorString("invalid directory name"); + return false; + } + + std::string directory(dir_cstr); replace_all(directory, "\\", "\\\\"); replace_all(directory, "'", "\\'"); @@ -2843,6 +2849,7 @@ } // now actually do the import + command_stream.Clear(); if (was_imported) {