[Lldb-commits] [lldb] bdeb35b - [lldb][lldb-vscode] Fix nullptr dereference when JSON is not an object

David Spickett via lldb-commits lldb-commits at lists.llvm.org
Thu Aug 3 07:56:30 PDT 2023


Author: David Spickett
Date: 2023-08-03T14:56:24Z
New Revision: bdeb35bda4381d3b416a92d797713b4b5a6a6c97

URL: https://github.com/llvm/llvm-project/commit/bdeb35bda4381d3b416a92d797713b4b5a6a6c97
DIFF: https://github.com/llvm/llvm-project/commit/bdeb35bda4381d3b416a92d797713b4b5a6a6c97.diff

LOG: [lldb][lldb-vscode] Fix nullptr dereference when JSON is not an object

Reviewed By: wallace

Differential Revision: https://reviews.llvm.org/D156977

Added: 
    

Modified: 
    lldb/tools/lldb-vscode/VSCode.cpp

Removed: 
    


################################################################################
diff  --git a/lldb/tools/lldb-vscode/VSCode.cpp b/lldb/tools/lldb-vscode/VSCode.cpp
index b6bf67c7bcfcfc..cad67c4273dd53 100644
--- a/lldb/tools/lldb-vscode/VSCode.cpp
+++ b/lldb/tools/lldb-vscode/VSCode.cpp
@@ -523,12 +523,13 @@ PacketStatus VSCode::GetNextObject(llvm::json::Object &object) {
     }
     return PacketStatus::JSONMalformed;
   }
-  object = *json_value->getAsObject();
-  if (!json_value->getAsObject()) {
+  llvm::json::Object *object_ptr = json_value->getAsObject();
+  if (!object_ptr) {
     if (log)
       *log << "error: json packet isn't a object" << std::endl;
     return PacketStatus::JSONNotObject;
   }
+  object = *object_ptr;
   return PacketStatus::Success;
 }
 


        


More information about the lldb-commits mailing list