On Friday 17 August 2012 16:49:36 Joe Hershberger wrote: > --- a/tools/env/fw_env.c > +++ b/tools/env/fw_env.c > > - memset(value, 0, len - strlen(name)); > + memset(value, 0, len);
side note: this memset is mostly useles as the value buffer largely gets written. all it should be is: value[len - 1] = '\0'; similarly, this logic at the end: if (value) free(value); that "if" check is pointless as free(NULL) works fine if you really wanted, the whole loop could be rewritten to use realloc for (i = 2; i < argc; ++i) { const char *val = argv[i]; size_t val_len = strlen(val); value = realloc(value, len + val_len + 1); if (!value) { fprintf(...); return -1; } memcpy(value + len, val, val_len); len += val_len; value[len++] = ' '; } value[len - 1] = '\0'; -mike
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot