diff options
author | Karl Palsson <karlp@etactica.com> | 2016-11-25 13:55:56 +0000 |
---|---|---|
committer | Uwe Hermann <uwe@hermann-uwe.de> | 2016-12-06 22:10:14 +0100 |
commit | 95e40a0ce2e27ba6ea7c97d9956918336160bf7b (patch) | |
tree | 470f431827349ca91cdecb49c26834eee5c472da /srd.c | |
parent | de22de7f5d6e371f4c8cdd2b211b8e5a1fbe973a (diff) | |
download | libsigrokdecode-95e40a0ce2e27ba6ea7c97d9956918336160bf7b.tar.gz libsigrokdecode-95e40a0ce2e27ba6ea7c97d9956918336160bf7b.zip |
valgrind: safely iterate lists
Old versions triggered valgrind errors as the API method to remove an
entry modifies the list that was being iterated.
Signed-off-by: Karl Palsson <karlp@etactica.com>
Diffstat (limited to 'srd.c')
-rw-r--r-- | srd.c | 5 |
1 files changed, 1 insertions, 4 deletions
@@ -219,12 +219,9 @@ SRD_API int srd_init(const char *path) */ SRD_API int srd_exit(void) { - GSList *l; - srd_dbg("Exiting libsigrokdecode."); - for (l = sessions; l; l = l->next) - srd_session_destroy((struct srd_session *)l->data); + g_slist_foreach(sessions, (GFunc)srd_session_destroy, NULL); srd_decoder_unload_all(); g_slist_free_full(searchpaths, g_free); |