Re: [PATCH 1/7] drivers/macintosh/via-pmu-led.c: Add of_node_put to avoid memory leak
From: Grant Likely <hidden>
Date: 2010-08-31 16:34:16
Also in:
kernel-janitors, linuxppc-dev, lkml
From: Grant Likely <hidden>
Date: 2010-08-31 16:34:16
Also in:
kernel-janitors, linuxppc-dev, lkml
On Tue, Aug 31, 2010 at 10:16 AM, Vasiliy Kulikov [off-list ref] wrote:
On Tue, Aug 31, 2010 at 18:08 +0200, Julia Lawall wrote:quoted
On Tue, 31 Aug 2010, walter harms wrote:quoted
quoted
if (strncmp(model, "PowerBook", strlen("PowerBook")) != 0 && strncmp(model, "iBook", strlen("iBook")) != 0 && strcmp(model, "PowerMac7,2") != 0 &&is there any rule that says when to use strncmp ? it seems perfecly valid to use strcpy here (what is done in the last cmp).Perhaps there are some characters after eg PowerBook that one doesn't want to compare with?It seems to me that model has no '\0' in the end. If model is got from the hardware then we should double check it - maybe harware is buggy. Otherwise we'll overflow model.
Model does have \0 at the end. This code is using strncmp to purposefully ignore the model suffix.
But why strcmp(model, "PowerMac7,2")? IMO it should be replaced with strncmp().
We use strcmp when parsing the device tree because the the length of the model property string is unknown and in most cases we *must* match the exact entire string, such as with this PowerMac7,2 example. Using strncmp would also happen to match with something like "PowerMac7,2345" which is not the desired behaviour. g.