[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r980811 - in /subversion/trunk/subversion/libsvn_fs_fs: fs.h fs_fs.c

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Mon, 2 Aug 2010 02:18:45 +0300

'Stefan Sperling' wrote on Sun, Aug 01, 2010 at 22:50:25 +0200:
> On Sun, Aug 01, 2010 at 03:50:49PM +0200, Bert Huijben wrote:
> > Yes, her you do, but before that there are a few SVN_ERR() statements that
> > can return WITHOUT wrapping the error.
> >
> > + SVN_ERR(svn_dirent_get_absolute(&src_abspath, src_path,
> > pool));
> > + SVN_ERR(svn_dirent_get_absolute(&dst_abspath, dst_path,
> > pool));
> >
> > So these two lines (from your original patch), leak the error if they return
> > an error message.
>
> Ah, yeah. I see. What's the best way to handle this?
> Is simply assigning err to a temporary err2 variable safe?
> I would not expect so.
>

Why not

        err2 = svn_dirent_get_absolute();
        if (err2)
          return svn_error_compose_create(err2, err);

?

> Maybe instead of wrapping the error, we should just create a new one?
>

Are you advocating to discard err? Why should we do so?

> Thanks,
> Stefan
Received on 2010-08-02 01:20:58 CEST

This is an archived mail posted to the Subversion Dev mailing list.