diff options
author | Elliott Hughes <enh@google.com> | 2020-10-26 17:05:28 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2020-10-26 17:05:28 -0700 |
commit | 2d219d5cf16e7056507f11074a30485d3e1b9b36 (patch) | |
tree | c692a6c44df756b5abbec213cea79f0c03e278de /src/demangle | |
parent | 040e8aa60bd9159761722afd932eba4aa5cdef50 (diff) | |
download | libcxxabi-2d219d5cf16e7056507f11074a30485d3e1b9b36.tar.gz |
libcxxabi: ld128 demangle: allow space for 'L' suffix.
Summary:
Caught by HWASAN on arm64 Android (which uses ld128 for long double). This
was running the existing fuzzer.
The specific minimized fuzz input to reproduce this is:
__cxa_demangle("1\006ILeeeEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE", 0, 0, 0);
Reviewers: eugenis, srhines, #libc_abi!
Subscribers: kristof.beyls, danielkiss, libcxx-commits
Tags: #libc_abi
Differential Revision: https://reviews.llvm.org/D77924
Bug: http://b/152588929
Test: treehugger
Change-Id: I393dbfc9a57543f2c9e53be71f5f56d5f13d931e
Diffstat (limited to 'src/demangle')
-rw-r--r-- | src/demangle/ItaniumDemangle.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/demangle/ItaniumDemangle.h b/src/demangle/ItaniumDemangle.h index 9e9d183..7dc6e8e 100644 --- a/src/demangle/ItaniumDemangle.h +++ b/src/demangle/ItaniumDemangle.h @@ -4896,7 +4896,7 @@ struct FloatData<long double> #else static const size_t mangled_size = 20; // May need to be adjusted to 16 or 24 on other platforms #endif - static const size_t max_demangled_size = 40; + static const size_t max_demangled_size = 41; static constexpr const char *spec = "%LaL"; }; |