summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--vala/valathrowstatement.vala7
2 files changed, 11 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 16d58b72f..ba547a904 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
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/:
Fix gtk_init_with_args binding, fixes bug 547135
diff --git a/vala/valathrowstatement.vala b/vala/valathrowstatement.vala
index 2380d2fdd..4b4da01fa 100644
--- a/vala/valathrowstatement.vala
+++ b/vala/valathrowstatement.vala
@@ -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 ()));