]> git.sur5r.net Git - u-boot/blobdiff - common/cmd_nvedit.c
powerpc mpc85xx: Only clear TSR:WIS in watchdog_reset.
[u-boot] / common / cmd_nvedit.c
index 8ecc4982309874e4cbfe8c1c0b6e0dd0efb17010..1f9c674260233d6944dd4419596156cd750b2027 100644 (file)
@@ -71,9 +71,6 @@ DECLARE_GLOBAL_DATA_PTR;
 SPI_FLASH|NVRAM|MMC|FAT|REMOTE} or CONFIG_ENV_IS_NOWHERE
 #endif
 
-#define XMK_STR(x)     #x
-#define MK_STR(x)      XMK_STR(x)
-
 /*
  * Maximum expected input data size for import command
  */
@@ -215,6 +212,9 @@ int env_check_apply(const char *name, const char *oldval,
 {
        int   console = -1;
 
+       /* Default value for NULL to protect string-manipulating functions */
+       newval = newval ? : "";
+
        /* Check for console redirection */
        if (strcmp(name, "stdin") == 0)
                console = stdin;
@@ -239,10 +239,8 @@ int env_check_apply(const char *name, const char *oldval,
                if (console_assign(console, newval) < 0)
                        return 1;
 
-#ifdef CONFIG_SERIAL_MULTI
                if (serial_assign(newval) < 0)
                        return 1;
-#endif
 #endif /* CONFIG_CONSOLE_MUX */
        }
 
@@ -256,7 +254,7 @@ int env_check_apply(const char *name, const char *oldval,
                if (strcmp(name, "serial#") == 0 ||
                    (strcmp(name, "ethaddr") == 0
 #if defined(CONFIG_OVERWRITE_ETHADDR_ONCE) && defined(CONFIG_ETHADDR)
-                    && strcmp(oldval, MK_STR(CONFIG_ETHADDR)) != 0
+                    && strcmp(oldval, __stringify(CONFIG_ETHADDR)) != 0
 #endif /* CONFIG_OVERWRITE_ETHADDR_ONCE && CONFIG_ETHADDR */
                        )) {
                        printf("Can't overwrite \"%s\"\n", name);
@@ -652,6 +650,9 @@ U_BOOT_CMD(
  */
 int envmatch(uchar *s1, int i2)
 {
+       if (s1 == NULL)
+               return -1;
+
        while (*s1 == env_get_char(i2++))
                if (*s1++ == '=')
                        return i2;