Fixed a couple of places where we were getting the module from a
section and using it w/o checking that it was valid.  This can
cause crashes - usually when tearing down a target.

llvm-svn: 259237
diff --git a/lldb/source/Target/SectionLoadList.cpp b/lldb/source/Target/SectionLoadList.cpp
index da3aea5..d79c32ee 100644
--- a/lldb/source/Target/SectionLoadList.cpp
+++ b/lldb/source/Target/SectionLoadList.cpp
@@ -172,10 +172,16 @@
 
         if (log)
         {
-            const FileSpec &module_file_spec (section_sp->GetModule()->GetFileSpec());
+            ModuleSP module_sp = section_sp->GetModule();
+            std::string module_name("<Unknown>");
+            if (module_sp)
+            {
+                const FileSpec &module_file_spec (section_sp->GetModule()->GetFileSpec());
+                module_name = module_file_spec.GetPath();
+            }
             log->Printf ("SectionLoadList::%s (section = %p (%s.%s))",
                          __FUNCTION__, static_cast<void*>(section_sp.get()),
-                         module_file_spec.GetPath().c_str(),
+                         module_name.c_str(),
                          section_sp->GetName().AsCString());
         }
 
@@ -203,10 +209,16 @@
 
     if (log)
     {
-        const FileSpec &module_file_spec (section_sp->GetModule()->GetFileSpec());
+        ModuleSP module_sp = section_sp->GetModule();
+        std::string module_name("<Unknown>");
+        if (module_sp)
+        {
+            const FileSpec &module_file_spec (section_sp->GetModule()->GetFileSpec());
+            module_name = module_file_spec.GetPath();
+        }
         log->Printf ("SectionLoadList::%s (section = %p (%s.%s), load_addr = 0x%16.16" PRIx64 ")",
                      __FUNCTION__, static_cast<void*>(section_sp.get()),
-                     module_file_spec.GetPath().c_str(),
+                     module_name.c_str(),
                      section_sp->GetName().AsCString(), load_addr);
     }
     bool erased = false;