|
all *_clear functions get a pointer that should be freed by that function.
after freeing they are set to NULL, but thats only in local scope, i.e:
the global pointer stays NOT NULL
void sink_list_clear(sink_info** sink_list, ...) {
[..]
free(sink_list);
sink_list = NULL;
}
so if it is really intended, all clear functions need to be changed to:
void sink_list_clear(sink_info ***sink_list,...) {
[..]
free(*sink_list);
*sink_list = NULL;
}
|