From ac7a3db0677309c6a81f9cf59e1b14dd7881fce1 Mon Sep 17 00:00:00 2001 From: Greg Clayton Date: Wed, 18 Apr 2012 00:05:19 +0000 Subject: [PATCH] Make sure an error is returned when Process::LoadImage() fails. llvm-svn: 154965 --- lldb/source/Target/Process.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp index c32b4b1305f6..dd283c5f7365 100644 --- a/lldb/source/Target/Process.cpp +++ b/lldb/source/Target/Process.cpp @@ -1391,6 +1391,9 @@ Process::GetImageInfoAddress() uint32_t Process::LoadImage (const FileSpec &image_spec, Error &error) { + char path[PATH_MAX]; + image_spec.GetPath(path, sizeof(path)); + DynamicLoader *loader = GetDynamicLoader(); if (loader) { @@ -1413,8 +1416,6 @@ Process::LoadImage (const FileSpec &image_spec, Error &error) frame_sp->CalculateExecutionContext (exe_ctx); bool unwind_on_error = true; StreamString expr; - char path[PATH_MAX]; - image_spec.GetPath(path, sizeof(path)); expr.Printf("dlopen (\"%s\", 2)", path); const char *prefix = "extern \"C\" void* dlopen (const char *path, int mode);\n"; lldb::ValueObjectSP result_valobj_sp; @@ -1437,6 +1438,8 @@ Process::LoadImage (const FileSpec &image_spec, Error &error) } } } + if (!error.AsCString()) + error.SetErrorStringWithFormat("unable to load '%s'", path); return LLDB_INVALID_IMAGE_TOKEN; }