Branch: Tag:

2002-12-20

2002-12-20 15:25:20 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Fixed leak.

Rev: src/las.c:1.319

2:   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: las.c,v 1.318 2002/12/20 15:13:20 grubba Exp $ + || $Id: las.c,v 1.319 2002/12/20 15:25:20 grubba Exp $   */      #include "global.h" - RCSID("$Id: las.c,v 1.318 2002/12/20 15:13:20 grubba Exp $"); + RCSID("$Id: las.c,v 1.319 2002/12/20 15:25:20 grubba Exp $");      #include "language.h"   #include "interpret.h"
2951:       case F_ARROW:    case F_INDEX: -  p->ext_flags |= VAR_USED; +  p->ext_flags = VAR_USED;    if(car_is_node(n)) find_used_variables(CAR(n),p,noblock,0);    if(cdr_is_node(n)) find_used_variables(CDR(n),p,noblock,0);    break;
3175:    UNSET_ONERROR(free_bb);    UNSET_ONERROR(free_aa);    -  if(aa.err || bb.err) { +  /* If there was an error or +  * If A has external dependencies due to indexing, we won't +  * investigate further. +  */ +  if(aa.err || bb.err || aa.ext_flags == VAR_USED) {    free_vars(&aa);    free_vars(&bb);    return 1;    }    -  /* If A has external dependencies due to indexing, we won't -  * investigate further. -  */ -  if (aa.ext_flags == VAR_USED) return 1; -  +     /* Check for overlap in locals. */    {    struct scope_info *aaa = aa.locals;