On 05/10/2007, chromatic <[EMAIL PROTECTED]> wrote: > On Thursday 04 October 2007 23:10:14 [EMAIL PROTECTED] wrote: > > > Modified: > > trunk/src/pmc/parrotio.pmc > > > > Log: > > [pmc] An input argument to the open() method was freed just before it was > > used. Thanks to Coverity (CID 131) for pointing this out! > > This one's a bit tricky, but the previous behavior was definitely wrong. > > > Modified: trunk/src/pmc/parrotio.pmc > > =========================================================================== > >=== --- trunk/src/pmc/parrotio.pmc (original) > > +++ trunk/src/pmc/parrotio.pmc Thu Oct 4 23:10:13 2007 > > @@ -67,7 +67,6 @@ > > > > string_cstring_free(c_file); > > string_cstring_free(c_mode); > > - string_cstring_free(c_layer); > > > > if (!pio || !PMC_struct_val(pio)) > > return pmc_new(INTERP, enum_class_Undef); > > The string needs to get freed here too, or we could play fun single-exit-point > games with goto. I opted for the former in r21873.
Thanks chromatic! I missed the thinking about the other return statement and how that affects the free-ing. Paul