If channel store fails, the channel var should be freed.
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
if (!found) {
fprintf(stderr, "Service ID %d not found on PMT!\n",
service_id);
- return 0;
+ return -1;
}
-
/* Create an entry to store the data */
if (!dvb_file->first_entry) {
dvb_file->first_entry = calloc(sizeof(*entry), 1);
d->program_number,
channel, vchannel,
get_detected, get_nit);
- if (rc < 0)
+ if (rc < 0) {
+ free(channel);
return rc;
+ }
}
if (!dvb_scan_handler->sdt)
return 0;
service->service_id,
channel, vchannel,
get_detected, get_nit);
- if (rc < 0)
+ if (rc < 0) {
+ free(channel);
return rc;
+ }
}
-
return 0;
}