1. 04 Jul, 2010 1 commit
    • Wolfgang Denk's avatar
      Make sure that argv[] argument pointers are not modified. · 54841ab5
      Wolfgang Denk authored
      The hush shell dynamically allocates (and re-allocates) memory for the
      argument strings in the "char *argv[]" argument vector passed to
      commands.  Any code that modifies these pointers will cause serious
      corruption of the malloc data structures and crash U-Boot, so make
      sure the compiler can check that no such modifications are being done
      by changing the code into "char * const argv[]".
      
      This modification is the result of debugging a strange crash caused
      after adding a new command, which used the following argument
      processing code which has been working perfectly fine in all Unix
      systems since version 6 - but not so in U-Boot:
      
      int main (int argc, char **argv)
      {
      	while (--argc > 0 && **++argv == '-') {
      /* ====> */	while (*++*argv) {
      			switch (**argv) {
      			case 'd':
      				debug++;
      				break;
      			...
      			default:
      				usage ();
      			}
      		}
      	}
      	...
      }
      
      The line marked "====>" will corrupt the malloc data structures and
      usually cause U-Boot to crash when the next command gets executed by
      the shell.  With the modification, the compiler will prevent this with
      an
      	error: increment of read-only location '*argv'
      
      N.B.: The code above can be trivially rewritten like this:
      
      	while (--argc > 0 && **++argv == '-') {
      		char *arg = *argv;
      		while (*++arg) {
      			switch (*arg) {
      			...
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      Acked-by: default avatarMike Frysinger <vapier@gentoo.org>
      54841ab5
  2. 21 Apr, 2010 1 commit
  3. 17 Jan, 2010 1 commit
  4. 11 Feb, 2009 1 commit
  5. 28 Jan, 2009 1 commit
    • Peter Tyser's avatar
      Command usage cleanup · 2fb2604d
      Peter Tyser authored
      Remove command name from all command "usage" fields and update
      common/command.c to display "name - usage" instead of
      just "usage". Also remove newlines from command usage fields.
      Signed-off-by: default avatarPeter Tyser <ptyser@xes-inc.com>
      2fb2604d
  6. 18 Oct, 2008 1 commit
  7. 09 Mar, 2008 1 commit
  8. 10 Jul, 2007 1 commit
  9. 08 Jul, 2007 1 commit
  10. 03 Jul, 2007 1 commit
  11. 13 Oct, 2005 1 commit
  12. 01 Jul, 2003 1 commit
  13. 27 Jun, 2003 1 commit
    • wdenk's avatar
      * Code cleanup: · 8bde7f77
      wdenk authored
        - remove trailing white space, trailing empty lines, C++ comments, etc.
        - split cmd_boot.c (separate cmd_bdinfo.c and cmd_load.c)
      
      * Patches by Kenneth Johansson, 25 Jun 2003:
        - major rework of command structure
          (work done mostly by Michal Cendrowski and Joakim Kristiansen)
      8bde7f77
  14. 27 Aug, 2002 1 commit