From 1a5cd9b1013cd9fda06db389dc9ef951373036b8 Mon Sep 17 00:00:00 2001 From: Packit Service Date: Feb 24 2021 15:21:50 +0000 Subject: Apply patch 0001-Work-around-buggy-signature-region-preventing-resign.patch patch_name: 0001-Work-around-buggy-signature-region-preventing-resign.patch present_in_specfile: true location_in_specfile: 26 --- diff --git a/sign/rpmgensig.c b/sign/rpmgensig.c index e20cbdb..8f77ad9 100644 --- a/sign/rpmgensig.c +++ b/sign/rpmgensig.c @@ -401,12 +401,19 @@ static void unloadImmutableRegion(Header *hdrp, rpmTagVal tag) if (headerGet(*hdrp, tag, utd, HEADERGET_DEFAULT)) { oh = headerCopyLoad(utd->data); - nh = headerCopy(oh); - headerFree(oh); rpmtdFreeData(utd); + } else { + /* XXX should we warn if the immutable region is corrupt/missing? */ + oh = headerLink(*hdrp); + } + + if (oh) { + /* Perform a copy to eliminate crud from buggy signing tools etc */ + nh = headerCopy(oh); headerFree(*hdrp); *hdrp = headerLink(nh); headerFree(nh); + headerFree(oh); } }