> -----Original Message----- > From: Daniel Shahaf [mailto:[email protected]] > Sent: donderdag 5 augustus 2010 8:13 > To: [email protected] > Cc: [email protected]; Daniel Shahaf > Subject: Re: svn commit: r982415 - in > /subversion/trunk/subversion/libsvn_ra_serf: commit.c replay.c serf.c > update.c > > [email protected] wrote on Wed, Aug 04, 2010 at 22:20:30 -0000: > > Author: rhuijben > > Date: Wed Aug 4 22:20:30 2010 > > New Revision: 982415 > > > > URL: http://svn.apache.org/viewvc?rev=982415&view=rev > > Log: > > Following up on r982398, fix a few more mostly theoretical error > leaks. > > > > Thanks; review below. > > > Modified: subversion/trunk/subversion/libsvn_ra_serf/commit.c > > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf > /commit.c?rev=982415&r1=982414&r2=982415&view=diff > > > ======================================================================= > ======= > > --- subversion/trunk/subversion/libsvn_ra_serf/commit.c (original) > > +++ subversion/trunk/subversion/libsvn_ra_serf/commit.c Wed Aug 4 > 22:20:30 2010 > > @@ -748,6 +748,7 @@ create_proppatch_body(void *baton, > > { > > proppatch_context_t *ctx = baton; > > serf_bucket_t *body_bkt; > > + svn_error_t *err; > > > > body_bkt = serf_bucket_aggregate_create(alloc); > > > > @@ -764,9 +765,10 @@ create_proppatch_body(void *baton, > > svn_ra_serf__add_open_tag_buckets(body_bkt, alloc, "D:set", > NULL); > > svn_ra_serf__add_open_tag_buckets(body_bkt, alloc, "D:prop", > NULL); > > > > - svn_ra_serf__walk_all_props(ctx->changed_props, ctx->path, > > - SVN_INVALID_REVNUM, > > - proppatch_walker, body_bkt, pool); > > + err = svn_ra_serf__walk_all_props(ctx->changed_props, ctx- > >path, > > + SVN_INVALID_REVNUM, > > + proppatch_walker, body_bkt, > pool); > > + svn_error_clear(err); /* ### */ > > > > What is the reason for silently ignoring errors here?
This is a serf callback which can't return errors. Clearing is better then leaking. > > > svn_ra_serf__add_close_tag_buckets(body_bkt, alloc, "D:prop"); > > svn_ra_serf__add_close_tag_buckets(body_bkt, alloc, "D:set"); > > @@ -777,9 +779,10 @@ create_proppatch_body(void *baton, > > svn_ra_serf__add_open_tag_buckets(body_bkt, alloc, "D:remove", > NULL); > > svn_ra_serf__add_open_tag_buckets(body_bkt, alloc, "D:prop", > NULL); > > > > - svn_ra_serf__walk_all_props(ctx->removed_props, ctx->path, > > - SVN_INVALID_REVNUM, > > - proppatch_walker, body_bkt, pool); > > + err = svn_ra_serf__walk_all_props(ctx->removed_props, ctx- > >path, > > + SVN_INVALID_REVNUM, > > + proppatch_walker, body_bkt, > pool); > > + svn_error_clear(err); /* ### */ > > > > Same question. Same function. > > > svn_ra_serf__add_close_tag_buckets(body_bkt, alloc, "D:prop"); > > svn_ra_serf__add_close_tag_buckets(body_bkt, alloc, > "D:remove"); > > > > Modified: subversion/trunk/subversion/libsvn_ra_serf/update.c > > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf > /update.c?rev=982415&r1=982414&r2=982415&view=diff > > > ======================================================================= > ======= > > --- subversion/trunk/subversion/libsvn_ra_serf/update.c (original) > > +++ subversion/trunk/subversion/libsvn_ra_serf/update.c Wed Aug 4 > 22:20:30 2010 > > @@ -937,23 +941,25 @@ handle_fetch(serf_request_t *request, > > + if (!err && info->fetch_props) > > { > > - svn_ra_serf__walk_all_props(info->props, > > - info->url, > > - info->target_rev, > > - set_file_props, > > - info, info->editor_pool); > > + err = svn_ra_serf__walk_all_props(info->props, > > + info->url, > > + info->target_rev, > > + set_file_props, > > + info, info- > >editor_pool); > > } > > > > err = info->dir->update_editor->close_file(info- > >file_baton, > > Leaks err. I'll fix this one. Bert
