Hello,

It seems that commit 6e21f6f34c1d7c3a7a059062e1ddd9705c984e2c is also missing on 1.16 (in addition to 1.14). Otherwise the return paths are still messed up:

        ret = dvb_fe_open_fname(parms, dvb_dev->path, flags);
        if (ret < 0) {
                free(parms);   <--- double free if returned via FE_GET_INFO 
error path
                return NULL;
        }

        return &parms->p;
}

int dvb_fe_open_fname(struct dvb_v5_fe_parms_priv *parms, char *fname,
                      int flags)
{
        ...

        if (xioctl(fd, FE_GET_INFO, &parms->p.info) == -1) {
                dvb_perror("FE_GET_INFO");
                dvb_v5_free(parms);
                close(fd);
                free(fname);
                return -errno;
        }

For 1.16 I was first fooled by the commit date of August 7th which should be before 1.16 branch off. But the commit was only applied in November and missed 1.16.

If you agree that the pathc is missing, please cherry-pick it to the two branches.

Thanks,
Gregor

Reply via email to