This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG9a7672ac4980: [lldb] Fix crash in "help memory
read" (authored by DavidSpickett).
Changed prior to commit:
https://reviews.llvm.org/D94917?vs=317364&id=317489#toc
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D94917/new/
https://reviews.llvm.org/D94917
Files:
lldb/include/lldb/Utility/OptionDefinition.h
lldb/test/API/commands/help/TestHelp.py
Index: lldb/test/API/commands/help/TestHelp.py
===================================================================
--- lldb/test/API/commands/help/TestHelp.py
+++ lldb/test/API/commands/help/TestHelp.py
@@ -56,6 +56,11 @@
self.runCmd("help disasm", check=False)
self.runCmd("help unsigned-integer")
+ @no_debug_info_test
+ def test_help_memory_read_should_not_crash_lldb(self):
+ """Command 'help memory read' should not crash lldb."""
+ self.runCmd("help memory read", check=False)
+
@no_debug_info_test
def test_help_should_not_hang_emacsshell(self):
"""Command 'settings set term-width 0' should not hang the help
command."""
Index: lldb/include/lldb/Utility/OptionDefinition.h
===================================================================
--- lldb/include/lldb/Utility/OptionDefinition.h
+++ lldb/include/lldb/Utility/OptionDefinition.h
@@ -12,6 +12,8 @@
#include "lldb/lldb-enumerations.h"
#include "lldb/lldb-private-types.h"
#include "llvm/ADT/StringExtras.h"
+#include "llvm/Support/MathExtras.h"
+#include <climits>
#include <cstdint>
namespace lldb_private {
@@ -47,7 +49,8 @@
/// Whether this has a short option character.
bool HasShortOption() const {
// See the short_option documentation for more.
- return llvm::isPrint(short_option);
+ return llvm::isUInt<CHAR_BIT>(short_option) &&
+ llvm::isPrint(short_option);
}
};
} // namespace lldb_private
Index: lldb/test/API/commands/help/TestHelp.py
===================================================================
--- lldb/test/API/commands/help/TestHelp.py
+++ lldb/test/API/commands/help/TestHelp.py
@@ -56,6 +56,11 @@
self.runCmd("help disasm", check=False)
self.runCmd("help unsigned-integer")
+ @no_debug_info_test
+ def test_help_memory_read_should_not_crash_lldb(self):
+ """Command 'help memory read' should not crash lldb."""
+ self.runCmd("help memory read", check=False)
+
@no_debug_info_test
def test_help_should_not_hang_emacsshell(self):
"""Command 'settings set term-width 0' should not hang the help command."""
Index: lldb/include/lldb/Utility/OptionDefinition.h
===================================================================
--- lldb/include/lldb/Utility/OptionDefinition.h
+++ lldb/include/lldb/Utility/OptionDefinition.h
@@ -12,6 +12,8 @@
#include "lldb/lldb-enumerations.h"
#include "lldb/lldb-private-types.h"
#include "llvm/ADT/StringExtras.h"
+#include "llvm/Support/MathExtras.h"
+#include <climits>
#include <cstdint>
namespace lldb_private {
@@ -47,7 +49,8 @@
/// Whether this has a short option character.
bool HasShortOption() const {
// See the short_option documentation for more.
- return llvm::isPrint(short_option);
+ return llvm::isUInt<CHAR_BIT>(short_option) &&
+ llvm::isPrint(short_option);
}
};
} // namespace lldb_private
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits