[cfe-commits] [libcxxabi] r163859 - /libcxxabi/trunk/src/cxa_demangle.cpp

Howard Hinnant hhinnant at apple.com
Thu Sep 13 16:49:59 PDT 2012


Author: hhinnant
Date: Thu Sep 13 18:49:59 2012
New Revision: 163859

URL: http://llvm.org/viewvc/llvm-project?rev=163859&view=rev
Log:
Specifically disallow primary-expressions of the form LT_... on the basis of this decition: http://sourcerytools.com/pipermail/cxx-abi-dev/2011-August/002422.html .  Failure to disallow this was causing infinite recursion in the demangler when these symbols show up due to mangling bugs.  This patch causes the demangler to return an invalid mangled name result rather than crash in infinite recursion.

Modified:
    libcxxabi/trunk/src/cxa_demangle.cpp

Modified: libcxxabi/trunk/src/cxa_demangle.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/src/cxa_demangle.cpp?rev=163859&r1=163858&r2=163859&view=diff
==============================================================================
--- libcxxabi/trunk/src/cxa_demangle.cpp (original)
+++ libcxxabi/trunk/src/cxa_demangle.cpp Thu Sep 13 18:49:59 2012
@@ -6914,6 +6914,10 @@
                     first = t+1;
             }
             break;
+        case 'T':
+            // Invalid mangled name per
+            //   http://sourcerytools.com/pipermail/cxx-abi-dev/2011-August/002422.html
+            break;
         default:
             {
                 // might be named type





More information about the cfe-commits mailing list