diff options
Diffstat (limited to 'llvm/utils/lldbDataFormatters.py')
| -rw-r--r-- | llvm/utils/lldbDataFormatters.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/utils/lldbDataFormatters.py b/llvm/utils/lldbDataFormatters.py index 5e553ca..a3e4ae1 100644 --- a/llvm/utils/lldbDataFormatters.py +++ b/llvm/utils/lldbDataFormatters.py @@ -197,6 +197,11 @@ def StringRefSummaryProvider(valobj, internal_dict): return '""' data = data_pointer.deref + # StringRef may be uninitialized with length exceeding available memory, + # potentially causing bad_alloc exceptions. Limit the length to max string summary setting. + limit_obj = valobj.target.debugger.GetSetting("target.max-string-summary-length") + if limit_obj: + length = min(length, limit_obj.GetUnsignedIntegerValue()) # Get a char[N] type, from the underlying char type. array_type = data.type.GetArrayType(length) # Cast the char* string data to a char[N] array. |
