File tree Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -926,13 +926,29 @@ void clear_midx_file(const char *object_dir)
926
926
927
927
static int verify_midx_error ;
928
928
929
+ static void midx_report (const char * fmt , ...)
930
+ {
931
+ va_list ap ;
932
+ verify_midx_error = 1 ;
933
+ va_start (ap , fmt );
934
+ vfprintf (stderr , fmt , ap );
935
+ fprintf (stderr , "\n" );
936
+ va_end (ap );
937
+ }
938
+
929
939
int verify_midx_file (const char * object_dir )
930
940
{
941
+ uint32_t i ;
931
942
struct multi_pack_index * m = load_multi_pack_index (object_dir , 1 );
932
943
verify_midx_error = 0 ;
933
944
934
945
if (!m )
935
946
return 0 ;
936
947
948
+ for (i = 0 ; i < m -> num_packs ; i ++ ) {
949
+ if (prepare_midx_pack (m , i ))
950
+ midx_report ("failed to load pack in position %d" , i );
951
+ }
952
+
937
953
return verify_midx_error ;
938
954
}
Original file line number Diff line number Diff line change @@ -222,6 +222,11 @@ test_expect_success 'verify packnames out of order' '
222
222
"pack names out of order"
223
223
'
224
224
225
+ test_expect_success ' verify packnames out of order' '
226
+ corrupt_midx_and_verify $MIDX_BYTE_PACKNAME_ORDER "a" $objdir \
227
+ "failed to load pack"
228
+ '
229
+
225
230
test_expect_success ' repack removes multi-pack-index' '
226
231
test_path_is_file $objdir/pack/multi-pack-index &&
227
232
git repack -adf &&
You can’t perform that action at this time.
0 commit comments