]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
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 fd5b6ec792fd0897a83cd59ad7535a450ca8cb12..b3f5f9562742ef2a1f4d62a2e88da647346bf3e2 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 a7b6e6cb3ea0be681b8602387f555fe5d102a371..77fef1c828b58d916b5f8e40c50c43e6fd1ec3ed 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");