diff options
author | Mike Blumenkrantz <michael.blumenkrantz@gmail.com> | 2011-07-04 03:50:37 +0000 |
---|---|---|
committer | Mike Blumenkrantz <michael.blumenkrantz@gmail.com> | 2011-07-04 03:50:37 +0000 |
commit | e4ac80b46f09b032640a67e3c8def93b2a557de1 (patch) | |
tree | 867bd8e3add633ea8170d284b0abb819e6c4339a | |
parent | c6025ea2536c6ad3b2f4190d1b68d6d1173df1fe (diff) | |
download | eet-e4ac80b46f09b032640a67e3c8def93b2a557de1.tar.gz |
fix some segvs in eet_node
SVN revision: 60958
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | src/lib/eet_node.c | 6 |
2 files changed, 7 insertions, 0 deletions
@@ -515,3 +515,4 @@ * Add functions to manipulate nodes: eet_node_children_get, eet_node_next_get, eet_node_parent_get, eet_node_type_get, eet_node_value_get, eet_node_name_get + * Fix segmentation faults in several eet_node functions diff --git a/src/lib/eet_node.c b/src/lib/eet_node.c index 771fe13..12bb0e6 100644 --- a/src/lib/eet_node.c +++ b/src/lib/eet_node.c @@ -213,6 +213,8 @@ eet_node_struct_child_new(const char *parent, { Eet_Node *n; + if (!child) return NULL; + if (child->type != EET_G_UNKNOWN) return child; @@ -254,6 +256,7 @@ eet_node_list_append(Eet_Node *parent, const char *tmp; Eet_Node *nn; + if ((!parent) || (!child)) return; tmp = eina_stringshare_add(name); for (nn = parent->values; nn; nn = nn->next) @@ -296,6 +299,7 @@ eet_node_struct_append(Eet_Node *parent, Eet_Node *prev; Eet_Node *nn; + if ((!parent) || (!child)) return; if (parent->type != EET_G_UNKNOWN) { ERR("[%s] is not a structure. Will not insert [%s] in it", @@ -343,6 +347,8 @@ eet_node_hash_add(Eet_Node *parent, { Eet_Node *nn; + if ((!parent) || (!child)) return; + /* No list found, so create it. */ nn = eet_node_hash_new(name, key, child); |