diff options
| author | Nico Weber <nicolasweber@gmx.de> | 2019-04-21 14:25:07 +0000 |
|---|---|---|
| committer | Nico Weber <nicolasweber@gmx.de> | 2019-04-21 14:25:07 +0000 |
| commit | aa162682ca23907d463635534b987b4defa22d24 (patch) | |
| tree | 07da61e91c01ead268bfe9abe96f3f716acc4e30 /llvm/lib/Demangle | |
| parent | f985e3125428c41ec253f08d824ba00f7acb1320 (diff) | |
| download | bcm5719-llvm-aa162682ca23907d463635534b987b4defa22d24.tar.gz bcm5719-llvm-aa162682ca23907d463635534b987b4defa22d24.zip | |
llvm-undname: Fix stack overflow on invalid found by oss-fuzz
llvm-svn: 358852
Diffstat (limited to 'llvm/lib/Demangle')
| -rw-r--r-- | llvm/lib/Demangle/MicrosoftDemangle.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Demangle/MicrosoftDemangle.cpp b/llvm/lib/Demangle/MicrosoftDemangle.cpp index 6431e4ab130..b421f2a7f93 100644 --- a/llvm/lib/Demangle/MicrosoftDemangle.cpp +++ b/llvm/lib/Demangle/MicrosoftDemangle.cpp @@ -1292,7 +1292,7 @@ Demangler::demangleStringLiteral(StringView &MangledName) { unsigned BytesDecoded = 0; while (!MangledName.consumeFront('@')) { - if (MangledName.size() < 1) + if (MangledName.size() < 1 || BytesDecoded >= MaxStringByteLength) goto StringLiteralError; StringBytes[BytesDecoded++] = demangleCharLiteral(MangledName); } |

