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

Re: Segfault in python-binding

From: Enrico Scholz <enrico.scholz_at_informatik.tu-chemnitz.de>
Date: 2004-11-13 02:05:34 CET

enrico.scholz@informatik.tu-chemnitz.de (Enrico Scholz) writes:

>> | Segmentation fault
> ...
> | 2585 result = (svn_error_t *)svn_client_commit(arg1,(apr_array_header_t const *)arg2,arg3,arg4,arg5);
>
> In the noop case (nothing to commit; which is triggered by the example),
> the svn_client_commit() function does not modify *arg1 (resp. temp1) and
> the following code uses the bad content. 'result' is 0 in this case and
> signals success.

yet more information...

svn_client_commit() operates till

| if (! ((commit_items = apr_hash_get (committables,
| SVN_CLIENT__SINGLE_REPOS_NAME,
| APR_HASH_KEY_STRING))))
| goto cleanup;

and enters the 'goto cleanup;' branch then (there are not committable
items). 'commit_info' stays as-is before this operation and 'cleanup:'
does not change it either.

So I would suggest to add an explicit check for no-committables before
the code above.

Enrico

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Nov 13 02:05:48 2004

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