[llvm-branch-commits] [lldb] release/22.x: [LLDB] Prevent division by zero in MSVC deque formatter (#175842) (PR #176224)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu Jan 15 11:01:26 PST 2026


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-lldb

Author: None (llvmbot)

<details>
<summary>Changes</summary>

Backport dddd2b706eb54cd70b3ac59adc6fb92343e9e101

Requested by: @<!-- -->Nerixyz

---
Full diff: https://github.com/llvm/llvm-project/pull/176224.diff


1 Files Affected:

- (modified) lldb/source/Plugins/Language/CPlusPlus/MsvcStlDeque.cpp (+2-2) 


``````````diff
diff --git a/lldb/source/Plugins/Language/CPlusPlus/MsvcStlDeque.cpp b/lldb/source/Plugins/Language/CPlusPlus/MsvcStlDeque.cpp
index 7fd1e6691a4bd..de103e9e4a460 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/MsvcStlDeque.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/MsvcStlDeque.cpp
@@ -110,7 +110,7 @@ lldb_private::formatters::MsvcStlDequeSyntheticFrontEnd::Update() {
   if (!block_size_decl)
     return lldb::eRefetch;
   Scalar block_size = block_size_decl.GetConstantValue();
-  if (!block_size.IsValid())
+  if (!block_size.IsValid() || block_size <= 0)
     return lldb::eRefetch;
 
   ValueObjectSP offset_sp = storage_sp->GetChildMemberWithName("_Myoff");
@@ -126,7 +126,7 @@ lldb_private::formatters::MsvcStlDequeSyntheticFrontEnd::Update() {
     return lldb::eRefetch;
 
   uint64_t map_size = map_size_sp->GetValueAsUnsigned(0, &ok);
-  if (!ok)
+  if (!ok || map_size == 0)
     return lldb::eRefetch;
 
   uint64_t size = size_sp->GetValueAsUnsigned(0, &ok);

``````````

</details>


https://github.com/llvm/llvm-project/pull/176224


More information about the llvm-branch-commits mailing list