diff options
author | Daniel Jasper <djasper@google.com> | 2013-03-18 12:50:26 +0000 |
---|---|---|
committer | Daniel Jasper <djasper@google.com> | 2013-03-18 12:50:26 +0000 |
commit | 850677d94a0f16f22ff760c67cc3bffb915d2af3 (patch) | |
tree | ab9c67f05d7973310aaedd877c92799d9d00b795 /clang/lib/Format | |
parent | d4d0e38045591ad565d98362ea06de508d5d62cf (diff) | |
download | bcm5719-llvm-850677d94a0f16f22ff760c67cc3bffb915d2af3.tar.gz bcm5719-llvm-850677d94a0f16f22ff760c67cc3bffb915d2af3.zip |
Fix clang-format segfault.
When annotating "lines" starting with ":", clang-format would segfault.
This could actually happen in valid code, e.g.
#define A :
llvm-svn: 177283
Diffstat (limited to 'clang/lib/Format')
-rw-r--r-- | clang/lib/Format/TokenAnnotator.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index 8267a25d031..4ac4c9b1b85 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -319,6 +319,8 @@ private: Tok->Type = TT_ObjCMethodSpecifier; break; case tok::colon: + if (Tok->Parent == NULL) + return false; // Colons from ?: are handled in parseConditional(). if (Tok->Parent->is(tok::r_paren) && Contexts.size() == 1) { Tok->Type = TT_CtorInitializerColon; |