Explorar o código

mpc83xx: protect memcpy to bad address if a local-mac-address is missing from dt

protect memcpy to bad address if a local-mac-address is missing from dt
Kim Phillips %!s(int64=18) %!d(string=hai) anos
pai
achega
b700474785
Modificáronse 1 ficheiros con 2 adicións e 0 borrados
  1. 2 0
      cpu/mpc83xx/cpu.c

+ 2 - 0
cpu/mpc83xx/cpu.c

@@ -309,11 +309,13 @@ ft_cpu_setup(void *blob, bd_t *bd)
 
 
 #ifdef CONFIG_MPC83XX_TSEC1
 #ifdef CONFIG_MPC83XX_TSEC1
 	p = ft_get_prop(blob, "/" OF_SOC "/ethernet@24000/local-mac-address", &len);
 	p = ft_get_prop(blob, "/" OF_SOC "/ethernet@24000/local-mac-address", &len);
+	if (p != NULL)
 		memcpy(p, bd->bi_enetaddr, 6);
 		memcpy(p, bd->bi_enetaddr, 6);
 #endif
 #endif
 
 
 #ifdef CONFIG_MPC83XX_TSEC2
 #ifdef CONFIG_MPC83XX_TSEC2
 	p = ft_get_prop(blob, "/" OF_SOC "/ethernet@25000/local-mac-address", &len);
 	p = ft_get_prop(blob, "/" OF_SOC "/ethernet@25000/local-mac-address", &len);
+	if (p != NULL)
 		memcpy(p, bd->bi_enet1addr, 6);
 		memcpy(p, bd->bi_enet1addr, 6);
 #endif
 #endif
 }
 }