On Sun, Aug 26, 2007 at 11:14:11AM -0700, Paul Cochrane wrote:
 
> The variable ins2 is freed by the call to subst_ins() but is then
> later assigned to later in the if-block.  Um, this isn't a good idea
> is it?  The variable shouldn't be freed in subst_ins() I don't think,
> so shouldn't we instead have the line:
> 
>                                     subst_ins(unit, ins2, tmp, 0);
> 
> (where setting the argument to 0 means *not* freeing the variable).
> 
> Is this the right thing to do?  Just wanted to ask the opinion of our
> resident gurus before I went and broke something...

free() takes a pointer and frees the memory pointed at.  The variable itself is
just a storage location for that pointer.  Maybe reusing the variable name is
confusing to humans, but I don't see any particular trouble for the computer
here.

-- c

Reply via email to