On Tuesday, September 27, 2011 10:53:56 PM Scott Wood wrote:
> On 09/27/2011 03:07 PM, Marek Vasut wrote:
> > On Tuesday, September 27, 2011 09:51:09 PM Scott Wood wrote:
> >> On 09/27/2011 02:38 PM, Marek Vasut wrote:
> >>> On Tuesday, September 27, 2011 09:01:53 PM Scott Wood wrote:
> >>>> On Thu, Sep 22, 2011 at 03:57:26AM +0200, Marek Vasut wrote:
> >>>>> +       /* Set geometry info */
> >>>>> +       memset(buf, 0, bufsz);
> >>>>> +       sprintf(buf, "%x", nand->writesize);
> >>>>> +       setenv("nand_writesize", buf);
> >>>>> +
> >>>>> +       memset(buf, 0, bufsz);
> >>>>> +       sprintf(buf, "%x", nand->oobsize);
> >>>>> +       setenv("nand_oobsize", buf);
> >>>>> +
> >>>>> +       memset(buf, 0, bufsz);
> >>>>> +       sprintf(buf, "%x", nand->erasesize);
> >>>>> +       setenv("nand_erasesize", buf);
> >>>> 
> >>>> Why the memsets?
> >>> 
> >>> To clear the memory from previous usage ?
> >> 
> >> What part of the previous usage will both survive the sprintf() and be
> >> looked at by setenv()?
> > 
> > The part of data that are copied in _do_set_env() ?
> 
> I don't see _do_set_env anywhere -- what tree are you looking at?
> 
> In any case, sprintf() produces a zero-terminated string.  setenv()
> consumes a zero-terminated string.

Correct

> setenv() doesn't even know that the
> buffer containing the string happens to be 32 bytes, much less have any
> business poking around in that area.

True ... but the stuff you call setenv() on is copied to environment. That's 
about it, it doesn't get lost anywhere.
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to