]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Fix crash when using invalid throw expressions, fixes bug 565571
authorJürg Billeter <j@bitron.ch>
Sun, 4 Jan 2009 22:48:50 +0000 (22:48 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Sun, 4 Jan 2009 22:48:50 +0000 (22:48 +0000)
2009-01-04  Jürg Billeter  <j@bitron.ch>

* vala/valathrowstatement.vala:

Fix crash when using invalid throw expressions, fixes bug 565571

svn path=/trunk/; revision=2275

ChangeLog
vala/valathrowstatement.vala

index 16d58b72ff1dcef608a718798e39d08610266369..ba547a90460f1fc98789b5d3708c4b469d9eb8df 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-01-04  Jürg Billeter  <j@bitron.ch>
+
+       * vala/valathrowstatement.vala:
+
+       Fix crash when using invalid throw expressions, fixes bug 565571
+
 2009-01-04  Jürg Billeter  <j@bitron.ch>
 
        * vapi/packages/gtk+-2.0/:
index 2380d2fddaff0b65117f7199361601373e4af411..4b4da01fa5e190f402659b26f7169c4c6a901181 100644 (file)
@@ -1,6 +1,6 @@
 /* valathrowstatement.vala
  *
- * Copyright (C) 2007-2008  Jürg Billeter
+ * Copyright (C) 2007-2009  Jürg Billeter
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -84,7 +84,10 @@ public class Vala.ThrowStatement : CodeNode, Statement {
                error_expression.target_type.value_owned = true;
 
                if (error_expression != null) {
-                       error_expression.check (analyzer);
+                       if (!error_expression.check (analyzer)) {
+                               error = true;
+                               return false;
+                       }
 
                        if (!(error_expression.value_type is ErrorType)) {
                                Report.error (error_expression.source_reference, "`%s' is not an error type".printf (error_expression.value_type.to_string ()));