Yoshiki Hayashi <yoshiki@xemacs.org> writes:
> Ah, then this is the bug in svn_repos_open?
>
> libsvn_repos/repos.c:
>
> svn_error_t *
> svn_repos_open (svn_repos_t **repos_p,
> const char *path,
> apr_pool_t *pool)
> {
> apr_status_t apr_err;
> svn_repos_t *repos;
>
> /* Allocate a repository object. */
> repos = apr_pcalloc (pool, sizeof (*repos));
> repos->pool = pool;
>
> /* Initialize the repository paths. */
> repos->path = apr_pstrdup (pool, path);
> init_repos_dirs (repos, pool);
>
> /* Initialize the filesystem object. */
> repos->fs = svn_fs_new (pool);
That's only svn_repos_open... let's look at svn_fs_new()...
^^^^^
svn_fs_t *
svn_fs_new (apr_pool_t *parent_pool)
{
svn_fs_t *new;
/* Allocate a new filesystem object in its own pool, which is a
subpool of POOL. */
{
apr_pool_t *pool = svn_pool_create (parent_pool);
new = apr_pcalloc (pool, sizeof (svn_fs_t));
new->pool = pool;
}
new->warning = default_warning_func;
apr_pool_cleanup_register (new->pool, (void *) new,
(apr_status_t (*) (void *)) cleanup_fs_apr,
apr_pool_cleanup_null);
return new;
}
Looks safe for svn_fs_close() to me...
-Karl
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:37:04 2006