fix some segvs in eet_node
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Mon, 4 Jul 2011 03:50:37 +0000 (03:50 +0000)
committerMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Mon, 4 Jul 2011 03:50:37 +0000 (03:50 +0000)
SVN revision: 60958

legacy/eet/ChangeLog
legacy/eet/src/lib/eet_node.c

index ce5520cf0b12db5efa5283719b7838d0a9334c34..76850145ecb6d9738a63357eca16ad79e95c1ce4 100644 (file)
         * 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
index 771fe1318634cefe3ab491aefd84ce40bdee0fa1..12bb0e6e4144b2da4dbc779f8f65da661ce765dd 100644 (file)
@@ -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);