Message ID | 20170127080622.GA4153@mwanda (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Am 27.01.2017 09:06, schrieb Dan Carpenter: > We should be returning negative error codes here or it leads to a crash. > This also silences a static checker warning. > > drivers/media/pci/mantis/mantis_cards.c:250 mantis_pci_probe() > warn: 'mantis->dmxdev.dvbdev->fops' double freed > > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > > diff --git a/drivers/media/pci/mantis/mantis_dvb.c b/drivers/media/pci/mantis/mantis_dvb.c > index 5a71e1791cf5..0db4de3a2285 100644 > --- a/drivers/media/pci/mantis/mantis_dvb.c > +++ b/drivers/media/pci/mantis/mantis_dvb.c > @@ -226,11 +226,12 @@ int mantis_dvb_init(struct mantis_pci *mantis) > goto err5; > } else { > if (mantis->fe == NULL) { > + result = -ENOMEM; > dprintk(MANTIS_ERROR, 1, "FE <NULL>"); > goto err5; > } > - > - if (dvb_register_frontend(&mantis->dvb_adapter, mantis->fe)) { > + result = dvb_register_frontend(&mantis->dvb_adapter, mantis->fe); > + if (result) { > dprintk(MANTIS_ERROR, 1, "ERROR: Frontend registration failed"); > > if (mantis->fe->ops.release) hi, just one remark: the indent level is deep. using if ( !mantis->hwconfig) return 0; and killing the "else" would help with readability. just my 2 cents re, wh -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
You're, of course, correct that this code could be cleaned up... regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/media/pci/mantis/mantis_dvb.c b/drivers/media/pci/mantis/mantis_dvb.c index 5a71e1791cf5..0db4de3a2285 100644 --- a/drivers/media/pci/mantis/mantis_dvb.c +++ b/drivers/media/pci/mantis/mantis_dvb.c @@ -226,11 +226,12 @@ int mantis_dvb_init(struct mantis_pci *mantis) goto err5; } else { if (mantis->fe == NULL) { + result = -ENOMEM; dprintk(MANTIS_ERROR, 1, "FE <NULL>"); goto err5; } - - if (dvb_register_frontend(&mantis->dvb_adapter, mantis->fe)) { + result = dvb_register_frontend(&mantis->dvb_adapter, mantis->fe); + if (result) { dprintk(MANTIS_ERROR, 1, "ERROR: Frontend registration failed"); if (mantis->fe->ops.release)
We should be returning negative error codes here or it leads to a crash. This also silences a static checker warning. drivers/media/pci/mantis/mantis_cards.c:250 mantis_pci_probe() warn: 'mantis->dmxdev.dvbdev->fops' double freed Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html