
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. 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.
-Scott