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:   12-Oct-2007 01:50:05
  Branch: HEAD                             Handle: 2007101200500401

  Modified files:
    rpm                     CHANGES
    rpm/lib                 rpminstall.c
    rpm/rpmdb               header.c rpmdb.c

  Log:
    - plug --rebuilddb memory leaks. headerGetExtension() est arrive!

  Summary:
    Revision    Changes     Path
    1.1671      +1  -0      rpm/CHANGES
    1.169       +1  -0      rpm/lib/rpminstall.c
    1.73        +2  -0      rpm/rpmdb/header.c
    1.174       +2  -6      rpm/rpmdb/rpmdb.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.1670 -r1.1671 CHANGES
  --- rpm/CHANGES       11 Oct 2007 22:35:35 -0000      1.1670
  +++ rpm/CHANGES       11 Oct 2007 23:50:04 -0000      1.1671
  @@ -1,4 +1,5 @@
   4.5 -> 5.0:
  +    - jbj: plug --rebuilddb memory leaks. headerGetExtension() est arrive!
       - jbj: fix: set FD_CLOEXEC in Open() and fdDup().
       - jbj: eliminate rpmMessage, rpmlog instead.
       - jbj: finish eliminating rpmError, rpmlog instead.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpminstall.c
  ============================================================================
  $ cvs diff -u -r1.168 -r1.169 rpminstall.c
  --- rpm/lib/rpminstall.c      11 Oct 2007 19:44:22 -0000      1.168
  +++ rpm/lib/rpminstall.c      11 Oct 2007 23:50:04 -0000      1.169
  @@ -460,6 +460,7 @@
        }
   
        /* === Add binary package to transaction set. */
  +     /* XXX xstrdup has memory leak. */
        rc = rpmtsAddInstallElement(ts, h, (fnpyKey)xstrdup(fn),
                        (ia->installInterfaceFlags & INSTALL_UPGRADE) != 0,
                        ia->relocations);
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/header.c
  ============================================================================
  $ cvs diff -u -r1.72 -r1.73 header.c
  --- rpm/rpmdb/header.c        11 Oct 2007 16:09:36 -0000      1.72
  +++ rpm/rpmdb/header.c        11 Oct 2007 23:50:05 -0000      1.73
  @@ -1864,6 +1864,8 @@
       case RPM_OPENPGP_TYPE:
       case RPM_ASN1_TYPE:
       case RPM_BIN_TYPE:
  +     he->freeData = 1;       /* XXX RPM_BIN_TYPE is malloc'd */
  +     /[EMAIL PROTECTED]@*/
       case RPM_CHAR_TYPE:
       case RPM_INT8_TYPE:
        nb = he_c * sizeof(*he_p.i8p);
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/rpmdb.c
  ============================================================================
  $ cvs diff -u -r1.173 -r1.174 rpmdb.c
  --- rpm/rpmdb/rpmdb.c 11 Oct 2007 19:44:24 -0000      1.173
  +++ rpm/rpmdb/rpmdb.c 11 Oct 2007 23:50:05 -0000      1.174
  @@ -3314,11 +3314,6 @@
                xx = hge(h, he->tag, he->t, he->p, he->c);
                xx = hge(h, RPMTAG_REQUIREFLAGS, NULL, &requireFlags, NULL);
                /[EMAIL PROTECTED]@*/ break;
  -#ifdef       DYING
  -         case RPMTAG_NVRA:   /* XXX compound header extension. */
  -             xx = headerGetExtension(h, he->tag, he->t, he->p, he->c);
  -             /[EMAIL PROTECTED]@*/ break;
  -#endif
            default:
                xx = hge(h, he->tag, he->t, he->p, he->c);
                /[EMAIL PROTECTED]@*/ break;
  @@ -3525,6 +3520,7 @@
            he_p.ptr = _free(he_p.ptr);
            he_c = 0;
            bin = _free(bin);
  +         requireFlags = _free(requireFlags);
        }
   
        rec = _free(rec);
  @@ -3809,7 +3805,7 @@
            }
   bottom:
            ofn = _free(ofn);
  -         nfn = _free(ofn);
  +         nfn = _free(nfn);
        }
   
        ofn = rpmGetPath(prefix, olddbpath, "/", "__db.000", NULL);
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                [email protected]

Reply via email to