RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: j...@rpm5.org Module: rpm Date: 12-Apr-2016 00:02:11 Branch: rpm-5_4 Handle: 2016041122021100 Modified files: (Branch: rpm-5_4) rpm/rpmdb header_internal.c Log: - pubkeys: detect RPMTAG_PUBKEY type failures as early as possible. Summary: Revision Changes Path 1.20.2.5 +7 -1 rpm/rpmdb/header_internal.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/rpmdb/header_internal.c ============================================================================ $ cvs diff -u -r1.20.2.4 -r1.20.2.5 header_internal.c --- rpm/rpmdb/header_internal.c 11 Apr 2016 09:12:33 -0000 1.20.2.4 +++ rpm/rpmdb/header_internal.c 11 Apr 2016 22:02:11 -0000 1.20.2.5 @@ -46,8 +46,14 @@ info->count = (rpmuint32_t) ntohl(pe[i].count); /* XXX Convert RPMTAG_FILESTATE to RPM_UINT8_TYPE. */ - if (info->tag == 1029 && info->type == 1) { + if (info->tag == 1029 && info->type == 1) info->type = RPM_UINT8_TYPE; + + /* XXX Ensure that pubkey type is sane, fail early if not.. */ + if (info->tag == RPMTAG_PUBKEYS + && info->type != RPM_STRING_ARRAY_TYPE) + { + return (int)i; } #ifdef NOTYET /* XXX more todo here */ @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org