aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Commands/CommandObjectTarget.cpp
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>2015-06-26 02:16:48 +0000
committerJason Molenda <jmolenda@apple.com>2015-06-26 02:16:48 +0000
commit25c910137abe33d02bf0d7b5c7a455eb2e4f3d2d (patch)
treedf4a248e3971dc147697ec99f3edf73861db3a34 /lldb/source/Commands/CommandObjectTarget.cpp
parent5eb6039f160db9e236bcb83c3bf897c4fe87bd9e (diff)
downloadllvm-25c910137abe33d02bf0d7b5c7a455eb2e4f3d2d.zip
llvm-25c910137abe33d02bf0d7b5c7a455eb2e4f3d2d.tar.gz
llvm-25c910137abe33d02bf0d7b5c7a455eb2e4f3d2d.tar.bz2
When the user specifies a corefile that is not readable,
give them a meaningful error message instead of "Unable to find process plug-in for core file ...". <rdar://problem/21255759> <rdar://problem/21091522> http://blog.ignoranthack.me/?p=204 llvm-svn: 240753
Diffstat (limited to 'lldb/source/Commands/CommandObjectTarget.cpp')
-rw-r--r--lldb/source/Commands/CommandObjectTarget.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/lldb/source/Commands/CommandObjectTarget.cpp b/lldb/source/Commands/CommandObjectTarget.cpp
index 7257ff3..448da0e 100644
--- a/lldb/source/Commands/CommandObjectTarget.cpp
+++ b/lldb/source/Commands/CommandObjectTarget.cpp
@@ -387,6 +387,12 @@ protected:
core_file.GetPath(core_path, sizeof(core_path));
if (core_file.Exists())
{
+ if (!core_file.Readable())
+ {
+ result.AppendMessageWithFormat ("Core file '%s' is not readable.\n", core_path);
+ result.SetStatus (eReturnStatusFailed);
+ return false;
+ }
FileSpec core_file_dir;
core_file_dir.GetDirectory() = core_file.GetDirectory();
target_sp->GetExecutableSearchPaths ().Append (core_file_dir);