On Nov 17, 2009, at 12:40 PM, Per Øyvind Karlsen wrote:

> I just did a fresh install of Mandriva Linux and updated to rpm 5.2 now,
> and this happens:
> 

Yup. Attached patch avoids the segfault:

Index: rpmdb/header_internal.c
===================================================================
RCS file: /v/rpm/cvs/rpm/rpmdb/header_internal.c,v
retrieving revision 1.19
diff -p -u -w -r1.19 header_internal.c
--- rpmdb/header_internal.c     31 Jul 2008 02:40:08 -0000      1.19
+++ rpmdb/header_internal.c     17 Nov 2009 17:43:21 -0000
@@ -47,7 +47,9 @@ int headerVerifyInfo(rpmuint32_t il, rpm
        /* XXX Convert RPMTAG_FILESTATE to RPM_UINT8_TYPE. */
        if (info->tag == 1029 && info->type == 1) {
            info->type = RPM_UINT8_TYPE;
+#ifdef DYING
            pe[i].type = (rpmuint32_t) htonl(info->type);
+#endif
        }
        info->offset = (rpmint32_t) ntohl(pe[i].offset);
 assert(negate || info->offset >= 0);   /* XXX insurance */

headerCheck is rather useless now that header blob's are PROT_READ protected.

73 de Jeff

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to