[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <alpine.LRH.2.02.1407021815130.17688@file01.intranet.prod.int.rdu2.redhat.com>
Date: Wed, 2 Jul 2014 18:18:22 -0400 (EDT)
From: Mikulas Patocka <mpatocka@...hat.com>
To: Rickard Strandqvist <rickard_strandqvist@...ctrumdigital.se>
cc: Jean-Christophe Plagniol-Villard <plagnioj@...osoft.com>,
Tomi Valkeinen <tomi.valkeinen@...com>,
Jingoo Han <jg1.han@...sung.com>,
Alexandru Juncu <alexj@...edu.org>,
Daniel Vetter <daniel.vetter@...ll.ch>,
Joe Perches <joe@...ches.com>, linux-fbdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] video: fbdev: matrox: matroxfb_base.c: Fix for possible
null pointer dereference
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 <rickard_strandqvist@...ctrumdigital.se>
> ---
> 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 <mpatocka@...hat.com>
---
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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists