--- libelwix/src/vars.c 2013/11/14 13:58:12 1.5.4.1 +++ libelwix/src/vars.c 2014/01/29 14:16:54 1.7 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: vars.c,v 1.5.4.1 2013/11/14 13:58:12 misho Exp $ +* $Id: vars.c,v 1.7 2014/01/29 14:16:54 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -12,7 +12,7 @@ terms: All of the documentation and software included in the ELWIX and AITNET Releases is copyrighted by ELWIX - Sofia/Bulgaria -Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 +Copyright 2004 - 2014 by Michael Pounov . All rights reserved. Redistribution and use in source and binary forms, with or without @@ -417,12 +417,14 @@ ait_freeVars(array_t ** __restrict vars) for (i = 0; i < array_Size(*vars); i++) if ((v = array(*vars, i, ait_val_t*))) { - AIT_FREE_VAL(v); /* free memory if isn't zero copy */ - if (!AIT_IN(v) && (*vars)->arr_data[i]) { - e_free((*vars)->arr_data[i]); - (*vars)->arr_data[i] = NULL; - } + if (!AIT_IN(v)) { + AIT_FREE_VAL(v); + if ((*vars)->arr_data[i]) + e_free((*vars)->arr_data[i]); + } else + AIT_FREE_VAL(v); + (*vars)->arr_data[i] = NULL; } (*vars)->arr_last = -1;