Re: [PATCH 05/25] drivers/i2c: Use static const char arrays

From: Lothar Waßmann
Date: Tue Sep 14 2010 - 03:37:54 EST


Hi,

Jonathan Cameron writes:
> Commit message is somewhat inaccurate...
>
> On 09/13/10 20:47, Joe Perches wrote:
> > Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
> > ---
> > drivers/i2c/busses/i2c-stu300.c | 4 ++--
> > 1 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/i2c/busses/i2c-stu300.c b/drivers/i2c/busses/i2c-stu300.c
> > index 495be45..2f7c09c 100644
> > --- a/drivers/i2c/busses/i2c-stu300.c
> > +++ b/drivers/i2c/busses/i2c-stu300.c
> > @@ -871,7 +871,7 @@ stu300_probe(struct platform_device *pdev)
> > struct resource *res;
> > int bus_nr;
> > int ret = 0;
> > - char clk_name[] = "I2C0";
> > + char clk_name[sizeof("I2Cx")];
> >
> > dev = kzalloc(sizeof(struct stu300_dev), GFP_KERNEL);
> > if (!dev) {
> > @@ -881,7 +881,7 @@ stu300_probe(struct platform_device *pdev)
> > }
> >
> > bus_nr = pdev->id;
> > - clk_name[3] += (char)bus_nr;
> > + sprintf(clk_name, "I2C%c", '0' + bus_nr);
> I'm guessing that there are never more than a couple of these.
> Why is this method a better bet than just putting %d?
>
'%c' will only ever produce one byte of output while '%d' may
produce up to 11 bytes depending on the value of bus_nr thus
overflowing the buffer.


Lothar Waßmann
--
___________________________________________________________

Ka-Ro electronics GmbH | Pascalstraße 22 | D - 52076 Aachen
Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10
Geschäftsführer: Matthias Kaussen
Handelsregistereintrag: Amtsgericht Aachen, HRB 4996

www.karo-electronics.de | info@xxxxxxxxxxxxxxxxxxx
___________________________________________________________
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/