Commit Diff


commit - ece63358eba76d37a9bc20201f9b64db59392feb
commit + 7648b8ae7289c7590d1cfac906eaebaacb00e1c4
blob - d9cf5cc0bdf4ecba2e571c9eb958fe80af948507
blob + b9a2e431780aaa0b8775fe5f03a5b481fdfd7f5d
--- lib/repository.c
+++ lib/repository.c
@@ -255,11 +255,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));