<rdar://problem/12897838>
authorEnrico Granata <egranata@apple.com>
Mon, 4 Mar 2013 17:20:57 +0000 (17:20 +0000)
committerEnrico Granata <egranata@apple.com>
Mon, 4 Mar 2013 17:20:57 +0000 (17:20 +0000)
Making sure we do not try to copy memory at address 0 - that would make us crash

llvm-svn: 176438

lldb/source/Symbol/ClangASTType.cpp
lldb/source/Symbol/Type.cpp

index ba23939..1e83f1a 100644 (file)
@@ -1734,6 +1734,8 @@ ClangASTType::ReadFromMemory
     {
         if (address_type == eAddressTypeHost)
         {
+            if (addr == 0)
+                return false;
             // The address is an address in this process, so just copy it
             memcpy (dst, (uint8_t*)NULL + addr, byte_size);
             return true;
index 03fc429..bdd7ce8 100644 (file)
@@ -439,6 +439,8 @@ Type::ReadFromMemory (ExecutionContext *exe_ctx, lldb::addr_t addr, AddressType
         if (address_type == eAddressTypeHost)
         {
             // The address is an address in this process, so just copy it
+            if (addr == 0)
+                return false;
             memcpy (dst, (uint8_t*)NULL + addr, byte_size);
             return true;
         }