Commit Diff


commit - 8b19523440af8c1c3629f6c73a1a5894ccf1261d
commit + bb711527a87bef0fc809a71d53e9bc2dad28150d
blob - a43b15276fae6a881257c7e298433f4256b081b0
blob + 22b1c09b144ec375b573cb9cb75253edc3553742
--- lib/repository.c
+++ lib/repository.c
@@ -261,11 +261,9 @@ got_repo_pack_fds_open(int **pack_fds)
 	for (i = 0; i < GOT_PACK_NUM_TEMPFILES; i++) {
 		pack_fds_tmp[i] = got_opentempfd();
 		if (pack_fds_tmp[i] == -1) {
-			err = got_repo_pack_fds_close(pack_fds_tmp);
-			if (err)
-				return err;
-			else
-				return got_error_from_errno("got_opentempfd");
+			err = got_error_from_errno("got_opentempfd");
+			got_repo_pack_fds_close(pack_fds_tmp);
+			return err;
 		}
 	}
 	memcpy(*pack_fds, pack_fds_tmp, sizeof(pack_fds_tmp));