diff options
author | Jürg Billeter <j@bitron.ch> | 2010-03-22 23:27:33 +0100 |
---|---|---|
committer | Jürg Billeter <j@bitron.ch> | 2010-03-22 23:27:33 +0100 |
commit | 918c07568d44aae0fb3ba30e83f58c866dddeeb3 (patch) | |
tree | b04405d3edf463885060970a911c6baaf324dbe2 /vala/valafield.vala | |
parent | be3769a3e764781fbf78ea6c1ba68ebd9ebcfbcd (diff) | |
download | vala-918c07568d44aae0fb3ba30e83f58c866dddeeb3.tar.gz |
Fix crash on invalid field initializer
Fixes bug 608635.
Diffstat (limited to 'vala/valafield.vala')
-rw-r--r-- | vala/valafield.vala | 8 |
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 ())); |