Fix regression reading some old v4.0 era packages (#610)
Some old v4.0 era packages have RPMTAG_HEADERIMAGE in the signature header region trailer, instead of the expected RPMTAG_HEADERSIGNATURES. This was fixed in 4.4.x in commit21818c6c8f
but regressed in the commit85a5b00430
refactoring / cleanup. Reported at https://bugzilla.altlinux.org/show_bug.cgi?id=33710, original patch by Vladimir D. Seleznev.
This commit is contained in:
parent
017d0b8846
commit
7a2f891d25
|
@ -1841,6 +1841,9 @@ static rpmRC hdrblobVerifyRegion(rpmTagVal regionTag, int exact_size,
|
|||
ei2h(&trailer, &einfo);
|
||||
/* Trailer offset is negative and has a special meaning */
|
||||
einfo.offset = -einfo.offset;
|
||||
/* Some old packages have HEADERIMAGE in signature region trailer, fix up */
|
||||
if (regionTag == RPMTAG_HEADERSIGNATURES && einfo.tag == RPMTAG_HEADERIMAGE)
|
||||
einfo.tag = RPMTAG_HEADERSIGNATURES;
|
||||
if (!(einfo.tag == regionTag &&
|
||||
einfo.type == REGION_TAG_TYPE && einfo.count == REGION_TAG_COUNT))
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue