diff options
| author | Howard Hinnant <hhinnant@apple.com> | 2013-06-20 01:55:07 +0000 |
|---|---|---|
| committer | Howard Hinnant <hhinnant@apple.com> | 2013-06-20 01:55:07 +0000 |
| commit | 763e591461c675dd785ba2311f9a2f1d5516a1af (patch) | |
| tree | dda0eb0532f847080f7cd2103fbdf5248e9f995d /libcxxabi/src | |
| parent | f8cab73e999266339ea6fcd78448ace9f376dc8e (diff) | |
| download | bcm5719-llvm-763e591461c675dd785ba2311f9a2f1d5516a1af.tar.gz bcm5719-llvm-763e591461c675dd785ba2311f9a2f1d5516a1af.zip | |
Protect against invalid mangled names. Add test suite for invalid mangled names.
llvm-svn: 184394
Diffstat (limited to 'libcxxabi/src')
| -rw-r--r-- | libcxxabi/src/cxa_demangle.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libcxxabi/src/cxa_demangle.cpp b/libcxxabi/src/cxa_demangle.cpp index 081892f63b8..16c142e3244 100644 --- a/libcxxabi/src/cxa_demangle.cpp +++ b/libcxxabi/src/cxa_demangle.cpp @@ -3798,7 +3798,7 @@ parse_name(const char* first, const char* last, C& db) else { // try <substitution> <template-args> t1 = parse_substitution(t0, last, db); - if (t1 != last && *t1 == 'I') + if (t1 != t0 && t1 != last && *t1 == 'I') { t0 = t1; t1 = parse_template_args(t0, last, db); |

