]> git.baikalelectronics.ru Git - kernel.git/commitdiff
media: dmxdev: change the check for problems allocing secfeed
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 9 Jun 2021 12:43:16 +0000 (14:43 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 9 Jun 2021 12:45:20 +0000 (14:45 +0200)
While the logic there is right, it tricks static check analyzers,
like smatch:

drivers/media/dvb-core/dmxdev.c:729 dvb_dmxdev_filter_start() error: we previously assumed '*secfeed' could be null (see line 719)

Because the implementation of the filter itself is made via
a callback, with its real implementation at the
dvbdmx_allocate_section_feed() inside dvb_demux.c.

So, change the check logic to make it clear that the function
will not try to use *secfeed == NULL.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/dvb-core/dmxdev.c

index f14a872d126872c3fc695cbd3f8460c32d317b14..5d5a48475a54fd6f68b3da645fbe7d274d8aaba3 100644 (file)
@@ -720,7 +720,7 @@ static int dvb_dmxdev_filter_start(struct dmxdev_filter *filter)
                        ret = dmxdev->demux->allocate_section_feed(dmxdev->demux,
                                                                   secfeed,
                                                                   dvb_dmxdev_section_callback);
-                       if (ret < 0) {
+                       if (!*secfeed) {
                                pr_err("DVB (%s): could not alloc feed\n",
                                       __func__);
                                return ret;