Only sr_dev_inst_free() should free channel groups.
This commit is contained in:
parent
aab4b8cb70
commit
7aebe22d10
|
@ -242,7 +242,7 @@ SR_PRIV struct sr_dev_inst *sr_dev_inst_new(int status,
|
||||||
|
|
||||||
/** @private
|
/** @private
|
||||||
* Free device instance struct created by sr_dev_inst().
|
* Free device instance struct created by sr_dev_inst().
|
||||||
* @param sdi struct* to free.
|
* @param sdi device instance to free.
|
||||||
*/
|
*/
|
||||||
SR_PRIV void sr_dev_inst_free(struct sr_dev_inst *sdi)
|
SR_PRIV void sr_dev_inst_free(struct sr_dev_inst *sdi)
|
||||||
{
|
{
|
||||||
|
@ -260,7 +260,10 @@ SR_PRIV void sr_dev_inst_free(struct sr_dev_inst *sdi)
|
||||||
|
|
||||||
for (l = sdi->channel_groups; l; l = l->next) {
|
for (l = sdi->channel_groups; l; l = l->next) {
|
||||||
cg = l->data;
|
cg = l->data;
|
||||||
|
g_free(cg->name);
|
||||||
|
g_slist_free(cg->channels);
|
||||||
g_free(cg->priv);
|
g_free(cg->priv);
|
||||||
|
g_free(cg);
|
||||||
}
|
}
|
||||||
g_slist_free(sdi->channel_groups);
|
g_slist_free(sdi->channel_groups);
|
||||||
|
|
||||||
|
|
10
src/std.c
10
src/std.c
|
@ -249,8 +249,7 @@ SR_PRIV int std_dev_clear(const struct sr_dev_driver *driver,
|
||||||
{
|
{
|
||||||
struct drv_context *drvc;
|
struct drv_context *drvc;
|
||||||
struct sr_dev_inst *sdi;
|
struct sr_dev_inst *sdi;
|
||||||
struct sr_channel_group *cg;
|
GSList *l;
|
||||||
GSList *l, *lcg;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (!(drvc = driver->priv))
|
if (!(drvc = driver->priv))
|
||||||
|
@ -285,13 +284,6 @@ SR_PRIV int std_dev_clear(const struct sr_dev_driver *driver,
|
||||||
else
|
else
|
||||||
g_free(sdi->priv);
|
g_free(sdi->priv);
|
||||||
|
|
||||||
/* Channel groups */
|
|
||||||
for (lcg = sdi->channel_groups; lcg; lcg = lcg->next) {
|
|
||||||
cg = lcg->data;
|
|
||||||
g_free(cg->name);
|
|
||||||
g_slist_free(cg->channels);
|
|
||||||
g_free(cg);
|
|
||||||
}
|
|
||||||
sr_dev_inst_free(sdi);
|
sr_dev_inst_free(sdi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue