RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  [EMAIL PROTECTED]
  Module: rpm                              Date:   13-Nov-2007 04:54:31
  Branch: HEAD                             Handle: 2007111303543001

  Modified files:
    rpm                     CHANGES
    rpm/lib                 rpmchecksig.c
    rpm/rpmio               rpmpgp.c

  Log:
    - jbj: fix the last memory leak with -Kvv, recheck install/query
    paths.

  Summary:
    Revision    Changes     Path
    1.1821      +1  -0      rpm/CHANGES
    1.177       +6  -3      rpm/lib/rpmchecksig.c
    2.66        +2  -6      rpm/rpmio/rpmpgp.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.1820 -r1.1821 CHANGES
  --- rpm/CHANGES       13 Nov 2007 01:58:46 -0000      1.1820
  +++ rpm/CHANGES       13 Nov 2007 03:54:30 -0000      1.1821
  @@ -1,4 +1,5 @@
   5.0a1 -> 5.0a2:
  +    - jbj: fix the last memory leak with -Kvv, recheck install/query paths.
       - jbj: functional -Kvv *.xar header-only DSA verify.
       - jbj: disable tagTypeValidate on --addsig and --delsig paths.
       - jbj: remap rpmlog levels to status quo ante.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmchecksig.c
  ============================================================================
  $ cvs diff -u -r1.176 -r1.177 rpmchecksig.c
  --- rpm/lib/rpmchecksig.c     13 Nov 2007 01:54:54 -0000      1.176
  +++ rpm/lib/rpmchecksig.c     13 Nov 2007 03:54:31 -0000      1.177
  @@ -1031,7 +1031,7 @@
        if (sigh != NULL)
        for (hi = headerInitExtension(sigh);
            headerNextExtension(hi, she, 0) != 0;
  -         /[EMAIL PROTECTED]@*/ xx = pgpSetSig(rpmtsDig(ts), 0, 0, NULL, 0) 
/[EMAIL PROTECTED]@*/)
  +         she->p.ptr = headerFreeData(she->p.ptr, she->t))
        {
   
   assert(she->p.ptr != NULL);
  @@ -1234,9 +1234,12 @@
                }
            }
        }
  -     if (hi != NULL)
  -         hi = headerFreeIterator(hi);
  +     hi = headerFreeIterator(hi);
        she->signature = 0;
  +     /* XXX clear the already free'd signature data. */
  +/[EMAIL PROTECTED]@*/
  +     xx = pgpSetSig(rpmtsDig(ts), 0, 0, NULL, 0);
  +/[EMAIL PROTECTED]@*/
   
        res += res2;
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmpgp.c
  ============================================================================
  $ cvs diff -u -r2.65 -r2.66 rpmpgp.c
  --- rpm/rpmio/rpmpgp.c        8 Nov 2007 19:40:41 -0000       2.65
  +++ rpm/rpmio/rpmpgp.c        13 Nov 2007 03:54:31 -0000      2.66
  @@ -1078,8 +1078,8 @@
       if (dig != NULL) {
   
        /* Lose the header tag data. */
  -     if (dig->sig)
  -         dig->sig = _free(dig->sig);
  +     /* XXX this free should be done somewhere else. */
  +     dig->sig = _free(dig->sig);
   
        /* Dump the signature/pubkey data. */
        pgpCleanDig(dig);
  @@ -1155,10 +1155,6 @@
        uint32_t sigtag, uint32_t sigtype, const void * sig, uint32_t siglen)
   {
       if (dig != NULL) {
  -#if 0
  -     if (dig->sig)
  -         dig->sig = _free(dig->sig);
  -#endif
        dig->sigtag = sigtag;
        dig->sigtype = (sig ? sigtype : 0);
   /[EMAIL PROTECTED] [EMAIL PROTECTED]/
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to