On Tue, Aug 31, 2010 at 18:08 +0200, Julia Lawall wrote: > On Tue, 31 Aug 2010, walter harms wrote: > > > > > > > Julia Lawall schrieb: > > > Add a call to of_node_put in the error handling code following a call to > > > of_find_node_by_path. [...] > > > --- a/drivers/macintosh/via-pmu-led.c > > > +++ b/drivers/macintosh/via-pmu-led.c > > > @@ -92,8 +92,10 @@ static int __init via_pmu_led_init(void) > > > if (dt == NULL) > > > return -ENODEV; > > > model = of_get_property(dt, "model", NULL); > > > - if (model == NULL) > > > + if (model == NULL) { > > > + of_node_put(dt); > > > return -ENODEV; > > > + } > > > 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. But why strcmp(model, "PowerMac7,2")? IMO it should be replaced with strncmp(). -- Vasiliy _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev