ld128 demangle: allow space for 'L' suffix.
authorElliott Hughes <enh@google.com>
Sat, 11 Apr 2020 00:42:00 +0000 (17:42 -0700)
committerElliott Hughes <enh@google.com>
Tue, 18 Aug 2020 23:14:05 +0000 (16:14 -0700)
commita7d0b7a786c769440143acb94f533149faac12c9
treec9c767c125647673e232a8704284ca2ef42dac40
parent592b8996bf9b55eec21e1c9e563f51b6108ec2d2
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
libcxxabi/src/demangle/ItaniumDemangle.h
libcxxabi/test/test_demangle.pass.cpp
llvm/include/llvm/Demangle/ItaniumDemangle.h