@@ -703,10 +703,15 @@ erts_debug_monitor_tree_destroying_foreach(ErtsMonitor *root,
703703 void * arg ,
704704 void * vysp )
705705{
706- void * tmp_vysp = erts_alloc (ERTS_ALC_T_ML_YIELD_STATE ,
707- sizeof (ErtsMonLnkYieldState ));
706+ void * tmp_vysp ;
708707 Sint reds ;
709- sys_memcpy (tmp_vysp , tmp_vysp , sizeof (ErtsMonLnkYieldState ));
708+ if (!vysp )
709+ tmp_vysp = NULL ;
710+ else {
711+ tmp_vysp = erts_alloc (ERTS_ALC_T_ML_YIELD_STATE ,
712+ sizeof (ErtsMonLnkYieldState ));
713+ sys_memcpy (tmp_vysp , tmp_vysp , sizeof (ErtsMonLnkYieldState ));
714+ }
710715 do {
711716 reds = ml_rbt_foreach_yielding ((ErtsMonLnkNode * ) root ,
712717 (ErtsMonLnkNodeFunc ) func ,
@@ -1348,10 +1353,15 @@ erts_debug_link_tree_destroying_foreach(ErtsLink *root,
13481353 void * arg ,
13491354 void * vysp )
13501355{
1351- void * tmp_vysp = erts_alloc (ERTS_ALC_T_ML_YIELD_STATE ,
1352- sizeof (ErtsMonLnkYieldState ));
1356+ void * tmp_vysp ;
13531357 Sint reds ;
1354- sys_memcpy (tmp_vysp , vysp , sizeof (ErtsMonLnkYieldState ));
1358+ if (!vysp )
1359+ tmp_vysp = NULL ;
1360+ else {
1361+ tmp_vysp = erts_alloc (ERTS_ALC_T_ML_YIELD_STATE ,
1362+ sizeof (ErtsMonLnkYieldState ));
1363+ sys_memcpy (tmp_vysp , vysp , sizeof (ErtsMonLnkYieldState ));
1364+ }
13551365 do {
13561366 reds = ml_rbt_foreach_yielding ((ErtsMonLnkNode * ) root ,
13571367 (ErtsMonLnkNodeFunc ) func ,
0 commit comments