On Tuesday 03 June 2008 10:50:27 NotFound via RT wrote: > On Sun, Jun 1, 2008 at 1:31 PM, Vasily Chekalkin <[EMAIL PROTECTED]> wrote: > > interp->exceptions initialized lazily. But really_destroy_exception have > > signature with __attribute_notnull__. So we should either check this > > value before function call or change function signature to accepts NULL. > > I tried this variant: > > --- src/exceptions.c (revisiĆ³n: 28050) > +++ src/exceptions.c (copia de trabajo) > @@ -772,8 +772,10 @@ > void > destroy_exception_list(PARROT_INTERP) > { > - really_destroy_exception_list(interp->exceptions); > - really_destroy_exception_list(interp->exc_free_list); > + if (interp->exceptions) > + really_destroy_exception_list(interp->exceptions); > + if (interp->exc_free_list) > + really_destroy_exception_list(interp->exc_free_list); > } > > /* > > In my platform, Ubuntu 8.04 i386, solves both this problem and #55170 > > The diagnostic is the same, the root of the problem is to pass null to > a parameter attributed as non null. > > (Optionally add several rants about premature optimization here).
Agreed, and applied as r28051. Thanks, everyone! -- c