dvbv5-scan: release resources on errors
authorMauro Carvalho Chehab <m.chehab@samsung.com>
Mon, 18 Nov 2013 09:41:43 +0000 (07:41 -0200)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Wed, 27 Nov 2013 11:24:40 +0000 (09:24 -0200)
If an error occurs, release memory and close the file descriptor,
if opened.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
utils/dvb/dvbv5-scan.c

index dccb907..26620a5 100644 (file)
@@ -631,8 +631,10 @@ int main(int argc, char **argv)
        struct dvb_v5_fe_parms *parms = dvb_fe_open(args.adapter_fe,
                                                    args.frontend,
                                                    verbose, args.force_dvbv3);
-       if (!parms)
+       if (!parms) {
+               free(args.demux_dev);
                return -1;
+       }
        if (lnb >= 0)
                parms->lnb = dvb_sat_get_lnb(lnb);
        if (args.sat_number >= 0)
@@ -640,8 +642,11 @@ int main(int argc, char **argv)
        parms->diseqc_wait = args.diseqc_wait;
        parms->freq_bpf = args.freq_bpf;
 
-       if (run_scan(&args, parms))
+       if (run_scan(&args, parms)) {
+               dvb_fe_close(parms);
+               free(args.demux_dev);
                return -1;
+       }
 
        dvb_fe_close(parms);