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

Reply via email to