eina share - fix spinlock release if magic check fails on share data

this fixes a potential double spinlock unrelease if magic check fails
on share data. this fixes CID 1367493
This commit is contained in:
Carsten Haitzler 2017-02-08 16:20:17 +09:00
parent 144092b2fa
commit 7b736d20b8
1 changed files with 4 additions and 4 deletions

View File

@ -766,11 +766,11 @@ eina_share_common_add_length(Eina_Share *share,
el = _eina_share_common_head_find(ed, str, slen);
if (el)
{
EINA_MAGIC_CHECK_SHARE_COMMON_NODE(el,
share->node_magic,
eina_spinlock_release(&_mutex_big));
EINA_MAGIC_CHECK_SHARE_COMMON_NODE
(el, share->node_magic,
eina_spinlock_release(&_mutex_big); return NULL);
el->references++;
eina_spinlock_release(&_mutex_big);
eina_spinlock_release(&_mutex_big);
return el->str;
}