--- effect_position.c 2007-07-21 02:37:59.000000000 -0400 +++ effect_position.c.d2x 2008-04-09 19:34:01.000000000 -0400 @@ -82,14 +82,19 @@ void _Eff_PositionDeinit(void) { int i; - for (i = 0; i < position_channels; i++) { - free(pos_args_array[i]); - } - free(pos_args_global); - pos_args_global = NULL; - free(pos_args_array); - pos_args_array = NULL; + if (pos_args_array) { + for (i = 0; i < position_channels; i++) + if (pos_args_array[i]) + free(pos_args_array[i]); + free(pos_args_array); + pos_args_array = NULL; + } + position_channels = 0; + if (pos_args_global) { + free(pos_args_global); + pos_args_global = NULL; + } }