[sr-dev] dlg relase for dlg_set_timeout_by_profile()

Daniel-Constantin Mierla miconda at gmail.com
Wed Jan 7 21:58:11 CET 2015


Hello Alex,

while analyzing the code of dialog module to allow setting the timeout
even before the dialog is answered, I noticed that
dlg_set_timeout_by_profile() is using update_dlg_timeout(), the later
doing a dlg_release() inside it.

However, dlg_set_timeout_by_profile() does another dlg_release() after
update_dlg_timeout(), which seems wrong at first sight, resulting in two
dereferences of the counter.

Looking at git blame, dlg_release in both dlg_set_timeout_by_profile()
and update_dlg_timeout() were added (or least last changed) by you.

I would move the dlg_release() out of update_dlg_timeout(), because it
is rather not intuitive to expect being done there, instead of where the
dlg was referenced.

Can you analyze and see if that is safe for your
dlg_set_timeout_by_profile(), or another dlg_release() should be done
inside it (as it gets removed from update_dlg_timeout() )?

Cheers,
Daniel

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda




More information about the sr-dev mailing list