[vscode] fix ubsan problem in the progress event reporter
authorWalter Erquinigo <wallace@fb.com>
Mon, 12 Jul 2021 18:46:36 +0000 (11:46 -0700)
committerWalter Erquinigo <wallace@fb.com>
Mon, 12 Jul 2021 20:22:25 +0000 (13:22 -0700)
The error

UndefinedBehaviorSanitizer: undefined-behavior /Users/buildslave/jenkins/workspace/lldb-cmake-sanitized/llvm-project/lldb/tools/lldb-vscode/ProgressEvent.cpp:89:64 in

was found in https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake-sanitized/1910/consoleFull#-15641370498254eaf0-7326-4999-85b0-388101f2d404

It turns out that we were not setting m_event_type when initializatin
and update case. The fix is very simple.

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

lldb/tools/lldb-vscode/ProgressEvent.cpp

index d973a57..5c1f8c6 100644 (file)
@@ -47,6 +47,7 @@ ProgressEvent::ProgressEvent(uint64_t progress_id, Optional<StringRef> message,
       m_percentage = 100;
   } else {
     // Update event
+    m_event_type = progressUpdate;
     m_percentage = std::min(
         (uint32_t)((double)completed / (double)total * 100.0), (uint32_t)99);
     if (prev_event->Reported()) {