eina: the actual patch.
authorcedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 3 Aug 2011 12:01:35 +0000 (12:01 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 3 Aug 2011 12:01:35 +0000 (12:01 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@62052 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/eina_share_common.c

index d5562a0..90e1868 100644 (file)
@@ -818,7 +818,11 @@ eina_share_common_ref(Eina_Share *share, const char *str)
 
    eina_lock_take(&_mutex_big);
    node = _eina_share_common_node_from_str(str, share->node_magic);
-   if (!node) return str;
+   if (!node)
+     {
+        eina_lock_release(&_mutex_big);
+        return str;
+     }
    node->references++;
 
    eina_lock_release(&_mutex_big);
@@ -845,7 +849,7 @@ eina_share_common_del(Eina_Share *share, const char *str)
 
    node = _eina_share_common_node_from_str(str, share->node_magic);
    if (!node)
-      return;
+      goto on_error;
 
    slen = node->length;
    eina_share_common_population_del(share, slen);