summaryrefslogtreecommitdiff
path: root/vala/valafield.vala
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2010-03-22 23:27:33 +0100
committerJürg Billeter <j@bitron.ch>2010-03-22 23:27:33 +0100
commit918c07568d44aae0fb3ba30e83f58c866dddeeb3 (patch)
treeb04405d3edf463885060970a911c6baaf324dbe2 /vala/valafield.vala
parentbe3769a3e764781fbf78ea6c1ba68ebd9ebcfbcd (diff)
downloadvala-918c07568d44aae0fb3ba30e83f58c866dddeeb3.tar.gz
Fix crash on invalid field initializer
Fixes bug 608635.
Diffstat (limited to 'vala/valafield.vala')
-rw-r--r--vala/valafield.vala8
1 files changed, 7 insertions, 1 deletions
diff --git a/vala/valafield.vala b/vala/valafield.vala
index 87d12c12c..b038c729f 100644
--- a/vala/valafield.vala
+++ b/vala/valafield.vala
@@ -1,6 +1,6 @@
/* valafield.vala
*
- * Copyright (C) 2006-2009 Jürg Billeter
+ * Copyright (C) 2006-2010 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
@@ -324,6 +324,12 @@ public class Vala.Field : Member, Lockable {
return false;
}
+ if (initializer.value_type == null) {
+ error = true;
+ Report.error (source_reference, "expression type not allowed as initializer");
+ return false;
+ }
+
if (!initializer.value_type.compatible (field_type)) {
error = true;
Report.error (source_reference, "Cannot convert from `%s' to `%s'".printf (initializer.value_type.to_string (), field_type.to_string ()));