mpc86xx: protect memcpy to bad address if a mac-address is missing from dt
authorJon Loeliger <jdl@freescale.com>
Fri, 20 Apr 2007 19:11:38 +0000 (14:11 -0500)
committerJon Loeliger <jdl@freescale.com>
Fri, 20 Apr 2007 19:11:38 +0000 (14:11 -0500)
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Jon Loeliger <jdl@freescale.com>
cpu/mpc86xx/cpu.c

index 84f5bef50878bd3924ac14f9a0a73f8aec1d17c6..73de8cb4af141a561780f35a5b4ad70201cb82ee 100644 (file)
@@ -280,22 +280,26 @@ ft_cpu_setup(void *blob, bd_t *bd)
 
 #if defined(CONFIG_MPC86XX_TSEC1)
        p = ft_get_prop(blob, "/" OF_SOC "/ethernet@24000/mac-address", &len);
-       memcpy(p, bd->bi_enetaddr, 6);
+       if (p != NULL)
+               memcpy(p, bd->bi_enetaddr, 6);
 #endif
 
 #if defined(CONFIG_MPC86XX_TSEC2)
        p = ft_get_prop(blob, "/" OF_SOC "/ethernet@25000/mac-address", &len);
-       memcpy(p, bd->bi_enet1addr, 6);
+       if (p != NULL)
+               memcpy(p, bd->bi_enet1addr, 6);
 #endif
 
 #if defined(CONFIG_MPC86XX_TSEC3)
        p = ft_get_prop(blob, "/" OF_SOC "/ethernet@26000/mac-address", &len);
-       memcpy(p, bd->bi_enet2addr, 6);
+       if (p != NULL)
+               memcpy(p, bd->bi_enet2addr, 6);
 #endif
 
 #if defined(CONFIG_MPC86XX_TSEC4)
        p = ft_get_prop(blob, "/" OF_SOC "/ethernet@27000/mac-address", &len);
-       memcpy(p, bd->bi_enet3addr, 6);
+       if (p != NULL)
+               memcpy(p, bd->bi_enet3addr, 6);
 #endif
 
 }