Messages in this thread | | | Date | Fri, 18 Apr 2008 17:07:19 +0400 | From | Cyrill Gorcunov <> | Subject | Re: [patch 3/3] ThinkPad ACPI: fix possible NULL pointer dereference |
| |
[Pavel Machek - Fri, Apr 18, 2008 at 02:41:12PM +0200] | Hi! | | > Fix potential NULL pointer dereference if kstrdup failed | > | > Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> | > | > --- | > | > Index: linux-2.6.git/drivers/misc/thinkpad_acpi.c | > =================================================================== | > --- linux-2.6.git.orig/drivers/misc/thinkpad_acpi.c 2008-04-16 20:35:34.000000000 +0400 | > +++ linux-2.6.git/drivers/misc/thinkpad_acpi.c 2008-04-16 20:36:38.000000000 +0400 | > @@ -5826,7 +5826,7 @@ static void __init get_thinkpad_model_da | > | > tp->model_str = kstrdup(dmi_get_system_info(DMI_PRODUCT_VERSION), | > GFP_KERNEL); | > - if (strnicmp(tp->model_str, "ThinkPad", 8) != 0) { | > + if (tp->model_str && strnicmp(tp->model_str, "ThinkPad", 8) != 0) { | > kfree(tp->model_str); | > tp->model_str = NULL; | > } | | are you sure? This seems to assume machine is thinkpad if kstrdup | fails... which is very wrong. |
Oh, I see what do you mean - you mean that even if machine is ThinkPad *but* kstrdup failed with my patch it would lead that the machine will *not* be recognized as ThinkPad and that is not correct, agreed. But how to preven from NULL dereference then? I think the current situation brought by my patch would not lead to really critical problems *but* it should be reorganized indeed! Thanks a lot, Pavel, for comments ;)
- Cyrill -
| |