This revision was automatically updated to reflect the committed changes.
Closed by commit rLLDB356227: [lldb-vscode] Fix dangling pointer in
request_evaluate. (authored by jgorbe, committed by ).
Changed prior to commit:
https://reviews.llvm.org/D59400?vs=190764&id=190769#toc
Repository:
rLLDB LLDB
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D59400/new/
https://reviews.llvm.org/D59400
Files:
tools/lldb-vscode/lldb-vscode.cpp
Index: tools/lldb-vscode/lldb-vscode.cpp
===================================================================
--- tools/lldb-vscode/lldb-vscode.cpp
+++ tools/lldb-vscode/lldb-vscode.cpp
@@ -965,7 +965,10 @@
value = frame.EvaluateExpression(expression.data());
if (value.GetError().Fail()) {
response["success"] = llvm::json::Value(false);
- const char *error_cstr = value.GetError().GetCString();
+ // This error object must live until we're done with the pointer returned
+ // by GetCString().
+ lldb::SBError error = value.GetError();
+ const char *error_cstr = error.GetCString();
if (error_cstr && error_cstr[0])
EmplaceSafeString(response, "message", std::string(error_cstr));
else
Index: tools/lldb-vscode/lldb-vscode.cpp
===================================================================
--- tools/lldb-vscode/lldb-vscode.cpp
+++ tools/lldb-vscode/lldb-vscode.cpp
@@ -965,7 +965,10 @@
value = frame.EvaluateExpression(expression.data());
if (value.GetError().Fail()) {
response["success"] = llvm::json::Value(false);
- const char *error_cstr = value.GetError().GetCString();
+ // This error object must live until we're done with the pointer returned
+ // by GetCString().
+ lldb::SBError error = value.GetError();
+ const char *error_cstr = error.GetCString();
if (error_cstr && error_cstr[0])
EmplaceSafeString(response, "message", std::string(error_cstr));
else
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits