commit - b94206d0acc1c55bad1233c35f959fa7c4af297b
commit + 6f711b103fc86abf1cc94d145c48c5a927f01527
blob - 9d9dfd0586d7bfc07846c61a82e2f1778968d95c
blob + b09e447cd160ea6b4ec21e61c49d40abcc7a3532
--- lib/repository.c
+++ lib/repository.c
got_repo_pack_fds_open(int **pack_fds)
{
const struct got_error *err = NULL;
- int i, *pack_fds_tmp;
+ int i;
- pack_fds_tmp = calloc(GOT_PACK_NUM_TEMPFILES, sizeof(int));
- if (pack_fds_tmp == NULL)
- return got_error_from_errno("calloc");
*pack_fds = calloc(GOT_PACK_NUM_TEMPFILES, sizeof(**pack_fds));
- if (*pack_fds == NULL) {
- free(pack_fds_tmp);
+ if (*pack_fds == NULL)
return got_error_from_errno("calloc");
- }
/*
* got_repo_pack_fds_close will try to close all of the
* we do not initialize to -1 here.
*/
for (i = 0; i < GOT_PACK_NUM_TEMPFILES; i++)
- pack_fds_tmp[i] = -1;
+ (*pack_fds)[i] = -1;
for (i = 0; i < GOT_PACK_NUM_TEMPFILES; i++) {
- pack_fds_tmp[i] = got_opentempfd();
- if (pack_fds_tmp[i] == -1) {
+ (*pack_fds)[i] = got_opentempfd();
+ if ((*pack_fds)[i] == -1) {
err = got_error_from_errno("got_opentempfd");
- got_repo_pack_fds_close(pack_fds_tmp);
+ got_repo_pack_fds_close(*pack_fds);
+ *pack_fds = NULL;
return err;
}
}
- memcpy(*pack_fds, pack_fds_tmp, GOT_PACK_NUM_TEMPFILES * sizeof(int));
- return err;
+
+ return NULL;
}
const struct got_error *