Commit 06a8f5c3b26682cf80a672cbc5f75c09f336cafe

Brian Lambert 2014-03-05T00:00:41

Fixed missing error check on call to git_remote_download in git_remote_fetch. Moved error check to statement following git_remote_disconnect so that the disconnect happens regardless of the result of the download call.

diff --git a/src/remote.c b/src/remote.c
index f320f4a..6f97d56 100644
--- a/src/remote.c
+++ b/src/remote.c
@@ -857,12 +857,15 @@ int git_remote_fetch(
 	if ((error = git_remote_connect(remote, GIT_DIRECTION_FETCH)) != 0)
 		return error;
 
-	if ((error = git_remote_download(remote)) != 0)
-		return error;
+	error = git_remote_download(remote);
 
 	/* We don't need to be connected anymore */
 	git_remote_disconnect(remote);
 
+	/* If the download failed, return the error */
+	if (error != 0)
+		return error;
+
 	/* Default reflog message */
 	if (reflog_message)
 		git_buf_sets(&reflog_msg_buf, reflog_message);