diff --git a/sys/dev/fdt/fdt_common.c b/sys/dev/fdt/fdt_common.c --- a/sys/dev/fdt/fdt_common.c +++ b/sys/dev/fdt/fdt_common.c @@ -441,6 +441,7 @@ reservep = (pcell_t *)&reserve; for (i = 0; i < tuples; i++) { + memset(&mr, 0, sizeof(mr)); rv = fdt_data_to_res(reservep, addr_cells, size_cells, (u_long *)&mr.mr_start, (u_long *)&mr.mr_size); @@ -484,6 +485,7 @@ /* XXX: Does a no-map of a dynamic range make sense? */ continue; + memset(&mr, 0, sizeof(mr)); fdt_data_to_res(reg, addr_cells, size_cells, (u_long *)&mr.mr_start, (u_long *)&mr.mr_size); @@ -526,6 +528,7 @@ regp = (pcell_t *)® for (i = 0; i < tuples; i++) { + memset(&mr, 0, sizeof(mr)); rv = fdt_data_to_res(regp, addr_cells, size_cells, (u_long *)&mr.mr_start, (u_long *)&mr.mr_size);