DD_LIST_FOREACH_SAFE should be used when there is node remove operation from list. 23/151123/1 accepted/tizen/unified/20171019.060836 submit/tizen/20171018.074948
authorpr.jung <pr.jung@samsung.com>
Wed, 20 Sep 2017 02:49:40 +0000 (11:49 +0900)
committerJung <pr.jung@samsung.com>
Wed, 20 Sep 2017 02:52:19 +0000 (02:52 +0000)
Change-Id: I807635a8959bdc66a26f7b6544e01c56a0bcbdd5
Signed-off-by: pr.jung <pr.jung@samsung.com>
src/storage-external-dbus.c

index be20d3f..dcd1e9e 100755 (executable)
@@ -367,6 +367,7 @@ void storage_ext_unregister_device_change(storage_ext_changed_cb func)
        GDBusConnection *conn;
        struct storage_ext_callback *callback;
        dd_list *elem;
+       dd_list *elem_n;
 
        if (!func)
                return;
@@ -379,7 +380,7 @@ void storage_ext_unregister_device_change(storage_ext_changed_cb func)
 //LCOV_EXCL_STOP
        }
 
-       DD_LIST_FOREACH(changed_list, elem, callback) {
+       DD_LIST_FOREACH_SAFE(changed_list, elem, elem_n, callback) {
                if (callback->func != func)
                        continue;
                if (callback->block_id > 0)