pack-bitmap.c: do not ignore error when opening a bitmap file
Calls to git_open() to open the pack bitmap file and multi-pack bitmap file do not report any error when they fail. These files are optional and it is not an error if open failed due to ENOENT, but we shouldn't be ignoring other kinds of errors. Signed-off-by: Teng Long <dyroneteng@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Teng Long committed
Jul 19, 2022 at 00:46 UTC
6411cc08f33952ab196ff232f94d602908faf344
1 file changed
+12
-5
pack-bitmap.c
+12
-5
@@ -317,10 +317,13 @@ static int open_midx_bitmap_1(struct bitmap_index *bitmap_git,
317
char *bitmap_name = midx_bitmap_filename(midx);
318
int fd = git_open(bitmap_name);
319
320
- free(bitmap_name);
321
-
322
- if (fd < 0)
320
+ if (fd < 0) {
321
+ if (errno != ENOENT)
322
+ warning_errno("cannot open '%s'", bitmap_name);
323
+ free(bitmap_name);
324
return -1;
325
+ }
326
+ free(bitmap_name);
327
328
if (fstat(fd, &st)) {
329
close(fd);
@@ -376,10 +379,14 @@ static int open_pack_bitmap_1(struct bitmap_index *bitmap_git, struct packed_git
379
380
bitmap_name = pack_bitmap_filename(packfile);
381
fd = git_open(bitmap_name);
379
- free(bitmap_name);
382
381
- if (fd < 0)
383
+ if (fd < 0) {
384
+ if (errno != ENOENT)
385
+ warning_errno("cannot open '%s'", bitmap_name);
386
+ free(bitmap_name);
387
return -1;
388
+ }
389
+ free(bitmap_name);
390
391
if (fstat(fd, &st)) {
392
close(fd);