@@ -291,7 +291,7 @@ static struct packed_ref_cache *read_packed_refs(const char *packed_refs_file)
291
291
oidclr (& oid );
292
292
flag |= REF_BAD_NAME | REF_ISBROKEN ;
293
293
}
294
- last = create_ref_entry (refname , & oid , flag , 0 );
294
+ last = create_ref_entry (refname , & oid , flag );
295
295
if (peeled == PEELED_FULLY ||
296
296
(peeled == PEELED_TAGS && starts_with (refname , "refs/tags/" )))
297
297
last -> flag |= REF_KNOWS_PEELED ;
@@ -415,8 +415,12 @@ static void add_packed_ref(struct files_ref_store *refs,
415
415
416
416
if (!is_lock_file_locked (& refs -> packed_refs_lock ))
417
417
die ("BUG: packed refs not locked" );
418
+
419
+ if (check_refname_format (refname , REFNAME_ALLOW_ONELEVEL ))
420
+ die ("Reference has invalid format: '%s'" , refname );
421
+
418
422
add_ref_entry (get_packed_ref_dir (packed_ref_cache ),
419
- create_ref_entry (refname , oid , REF_ISPACKED , 1 ));
423
+ create_ref_entry (refname , oid , REF_ISPACKED ));
420
424
}
421
425
422
426
/*
@@ -493,7 +497,7 @@ static void loose_fill_ref_dir(struct ref_store *ref_store,
493
497
flag |= REF_BAD_NAME | REF_ISBROKEN ;
494
498
}
495
499
add_entry_to_dir (dir ,
496
- create_ref_entry (refname .buf , & oid , flag , 0 ));
500
+ create_ref_entry (refname .buf , & oid , flag ));
497
501
}
498
502
strbuf_setlen (& refname , dirnamelen );
499
503
strbuf_setlen (& path , path_baselen );
@@ -1541,7 +1545,7 @@ static int files_pack_refs(struct ref_store *ref_store, unsigned int flags)
1541
1545
oidcpy (& packed_entry -> u .value .oid , iter -> oid );
1542
1546
} else {
1543
1547
packed_entry = create_ref_entry (iter -> refname , iter -> oid ,
1544
- REF_ISPACKED , 0 );
1548
+ REF_ISPACKED );
1545
1549
add_ref_entry (packed_refs , packed_entry );
1546
1550
}
1547
1551
oidclr (& packed_entry -> u .value .peeled );
0 commit comments