remote: set error code in create_internal

Set the error code when an error occurs in any of the called
functions. This ensures we pass the error up to callers and
actually free the remote when an error occurs.
This commit is contained in:
Patrick Steinhardt 2016-02-22 16:01:03 +01:00
parent 0f1e2d2066
commit d0cb11e794

View File

@ -208,8 +208,8 @@ static int create_internal(git_remote **out, git_repository *repo, const char *n
remote->repo = repo; remote->repo = repo;
if (git_vector_init(&remote->refs, 32, NULL) < 0 || if ((error = git_vector_init(&remote->refs, 32, NULL)) < 0 ||
canonicalize_url(&canonical_url, url) < 0) (error = canonicalize_url(&canonical_url, url)) < 0)
goto on_error; goto on_error;
remote->url = apply_insteadof(repo->_config, canonical_url.ptr, GIT_DIRECTION_FETCH); remote->url = apply_insteadof(repo->_config, canonical_url.ptr, GIT_DIRECTION_FETCH);