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);