Hi! On Fri, 25 Oct 2013 15:15:22 +0200, Emilio Pozuelo Monfort <[email protected]> wrote: > Minor nitpick: > > On 25/10/13 10:30, Justus Winter wrote: > > Found using the Clang Static Analyzer. > > > > * libtrivfs/protid-clean.c (trivfs_clean_protid): Fix use-after-free error.
> > --- a/libtrivfs/protid-clean.c
> > +++ b/libtrivfs/protid-clean.c
> > @@ -39,10 +39,13 @@ trivfs_clean_protid (void *arg)
> > }
> > if (--cred->po->refcnt == 0)
> > {
> > + struct trivfs_control *cntl = cred->po->cntl;
> > ports_port_deref (cred->po->cntl);
> > free (cred->po);
> > + pthread_mutex_unlock (&cntl->lock);
> > }
> > - pthread_mutex_unlock (&cred->po->cntl->lock);
> > + else
> > + pthread_mutex_unlock (&cred->po->cntl->lock);
>
> I think it'd be clearer to unconditionally declare cntl before the if block
> and
> call pthread_mutex_unlock on &cntl->lock after the if block instead of inside
> the if and again inside the else.
I agree; OK to push with that changed.
Grüße,
Thomas
pgpev6Gpi5AEL.pgp
Description: PGP signature
