diff options
author | Tim Janik <timj@gtk.org> | 1998-10-02 21:14:26 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 1998-10-02 21:14:26 +0000 |
commit | bbe7d97e0098baf46c352aea5167613bab7e62f0 (patch) | |
tree | 1b28ee0d257a982884139611d7a303c933405f06 /gtk | |
parent | b89ed0c35f513007c26323b43c355b7f32a8f0ee (diff) | |
download | gtk+-bbe7d97e0098baf46c352aea5167613bab7e62f0.tar.gz |
make sure we don't segfault when looking up a non-existant value name
Fri Oct 2 16:10:36 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.c (gtk_type_enum_find_value): make sure we don't
segfault when looking up a non-existant value name (reported by
Pablo <pcj+gtk@primenet.com>).
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtktypeutils.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/gtk/gtktypeutils.c b/gtk/gtktypeutils.c index d261fbe8e9..c5a7b1923a 100644 --- a/gtk/gtktypeutils.c +++ b/gtk/gtktypeutils.c @@ -683,18 +683,19 @@ gtk_type_enum_find_value (GtkType enum_type, GtkEnumValue *vals; vals = gtk_type_enum_get_values (enum_type); - while (vals) - { - if (strcmp (vals->value_name, value_name) == 0 || - strcmp (vals->value_nick, value_name) == 0) - return vals; - vals++; - } + if (vals) + while (vals->value_name) + { + if (strcmp (vals->value_name, value_name) == 0 || + strcmp (vals->value_nick, value_name) == 0) + return vals; + vals++; + } } else g_warning ("gtk_type_enum_find_value(): type `%s' is not derived from `GtkEnum' or `GtkFlags'", gtk_type_name (enum_type)); - + return NULL; } |