On Wed, 2 Jul 2014, Rickard Strandqvist wrote:

> Fix a possible null pointer dereference, there is otherwise a risk of a 
> possible null pointer dereference
> 
> This was found using a static code analysis program called cppcheck
> 
> Signed-off-by: Rickard Strandqvist <[email protected]>
> ---
>  drivers/video/fbdev/matrox/matroxfb_base.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/video/fbdev/matrox/matroxfb_base.c 
> b/drivers/video/fbdev/matrox/matroxfb_base.c
> index 7116c53..85ef84b 100644
> --- a/drivers/video/fbdev/matrox/matroxfb_base.c
> +++ b/drivers/video/fbdev/matrox/matroxfb_base.c
> @@ -1971,9 +1971,9 @@ static void matroxfb_register_device(struct 
> matrox_fb_info* minfo) {
>       int i = 0;
>       list_add(&minfo->next_fb, &matroxfb_list);
>       for (drv = matroxfb_driver_l(matroxfb_driver_list.next);
> -          drv != matroxfb_driver_l(&matroxfb_driver_list);
> +          drv && drv != matroxfb_driver_l(&matroxfb_driver_list);

The "drv" check is pointless because drv can't be NULL - use the patch 
below.

>            drv = matroxfb_driver_l(drv->node.next)) {
> -             if (drv && drv->probe) {
> +             if (drv->probe) {
>                       void *p = drv->probe(minfo);
>                       if (p) {
>                               minfo->drivers_data[i] = p;
> -- 
> 1.7.10.4

matroxfb: delete pointless NULL-pointer check

The for loop walks a double-linked list, so drv cannot be NULL.

This patch deletes the pointless NULL-pointer check. cppcheck warned about
it.

Signed-off-by: Mikulas Patocka <[email protected]>

---
 drivers/video/fbdev/matrox/matroxfb_base.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6/drivers/video/fbdev/matrox/matroxfb_base.c
===================================================================
--- linux-2.6.orig/drivers/video/fbdev/matrox/matroxfb_base.c   2014-06-19 
16:41:45.048259897 +0200
+++ linux-2.6/drivers/video/fbdev/matrox/matroxfb_base.c        2014-07-03 
00:13:04.299380130 +0200
@@ -1973,7 +1973,7 @@ static void matroxfb_register_device(str
        for (drv = matroxfb_driver_l(matroxfb_driver_list.next);
             drv != matroxfb_driver_l(&matroxfb_driver_list);
             drv = matroxfb_driver_l(drv->node.next)) {
-               if (drv && drv->probe) {
+               if (drv->probe) {
                        void *p = drv->probe(minfo);
                        if (p) {
                                minfo->drivers_data[i] = p;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to