Fixed segfault in ternary expressions, bug 547165.
authorJared Moore <jaredm@svn.gnome.org>
Sun, 10 Aug 2008 14:44:27 +0000 (14:44 +0000)
committerJared William Moore <jaredm@src.gnome.org>
Sun, 10 Aug 2008 14:44:27 +0000 (14:44 +0000)
2008-08-11  Jared Moore  <jaredm@svn.gnome.org>

* vala/valasemanticanalyzer.vala:

Fixed segfault in ternary expressions, bug 547165.

svn path=/trunk/; revision=1747

ChangeLog
vala/valasemanticanalyzer.vala

index fd5b6ec..b3f5f95 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-08-11  Jared Moore  <jaredm@svn.gnome.org>
+
+       * vala/valasemanticanalyzer.vala:
+
+       Fixed segfault in ternary expressions, bug 547165.
+
 2008-08-10  Jürg Billeter  <j@bitron.ch>
 
        * vala/valacodecontext.vala:
index a7b6e6c..77fef1c 100644 (file)
@@ -3266,6 +3266,10 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
        }
 
        public override void visit_conditional_expression (ConditionalExpression expr) {
+               if (expr.condition.error || expr.false_expression.error || expr.true_expression.error) {
+                       return;
+               }
+
                if (!expr.condition.value_type.compatible (bool_type)) {
                        expr.error = true;
                        Report.error (expr.condition.source_reference, "Condition must be boolean");