]> granicus.if.org Git - clang/commitdiff
Prevent crash on incorrect objc messaging expression.
authorFariborz Jahanian <fjahanian@apple.com>
Wed, 2 Jan 2008 18:09:46 +0000 (18:09 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Wed, 2 Jan 2008 18:09:46 +0000 (18:09 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45489 91177308-0d34-0410-b5e6-96231b3b80d8

Parse/ParseObjc.cpp
test/Parser/objc-messaging-neg-1.m [new file with mode: 0644]

index d8da0daea9e046cf6c1932bdddbf64ff04a15c79..19bbfea62421d9f4bc48c0e940643c46fac933c3 100644 (file)
@@ -1342,13 +1342,13 @@ Parser::ExprResult Parser::ParseObjCMessageExpression() {
   } else if (!selIdent) {
     Diag(Tok, diag::err_expected_ident); // missing selector name.
     SkipUntil(tok::semi);
-    return 0;
+    return true;
   }
   
   if (Tok.isNot(tok::r_square)) {
     Diag(Tok, diag::err_expected_rsquare);
     SkipUntil(tok::semi);
-    return 0;
+    return true;
   }
   SourceLocation RBracloc = ConsumeBracket(); // consume ']'
   
diff --git a/test/Parser/objc-messaging-neg-1.m b/test/Parser/objc-messaging-neg-1.m
new file mode 100644 (file)
index 0000000..23db7e2
--- /dev/null
@@ -0,0 +1,7 @@
+// RUN: clang -fsyntax-only -verify %s
+
+int main()
+   {
+     id a;
+     [a bla:0 6:7]; // expected-error {{expected ']'}}
+   }