Backup the array passed to fetch_pack so we can free items
[gitweb.git] / builtin-pack-refs.c
index 1952950c9a4bf13dc728bb8d6a79493dad36df06..09df4e11a8bb89cded9be4af06bb162b7a92bd4c 100644 (file)
@@ -1,3 +1,4 @@
+#include "builtin.h"
 #include "cache.h"
 #include "refs.h"
 #include "object.h"
@@ -105,6 +106,8 @@ static int pack_refs(unsigned int flags)
        fprintf(cbdata.refs_file, "# pack-refs with: peeled \n");
 
        for_each_ref(handle_one_ref, &cbdata);
+       if (ferror(cbdata.refs_file))
+               die("failed to write ref-pack file");
        if (fflush(cbdata.refs_file) || fsync(fd) || fclose(cbdata.refs_file))
                die("failed to write ref-pack file (%s)", strerror(errno));
        if (commit_lock_file(&packed) < 0)