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:   09-Nov-2007 22:04:36
  Branch: HEAD                             Handle: 2007110921043501

  Modified files:
    rpm                     CHANGES
    rpm/lib                 depends.c rpmchecksig.c rpmds.c rpmds.h
    rpm/rpmdb               pkgio.c rpmdb.c

  Log:
    - jbj: hmmm, headerGetExtension should not leak memory on failure. hack it.
    - jbj: more memory leak canoodling.

  Summary:
    Revision    Changes     Path
    1.1782      +2  -0      rpm/CHANGES
    1.359       +3  -0      rpm/lib/depends.c
    1.169       +1  -0      rpm/lib/rpmchecksig.c
    2.78        +1  -1      rpm/lib/rpmds.c
    2.61        +3  -0      rpm/lib/rpmds.h
    1.23        +1  -1      rpm/rpmdb/pkgio.c
    1.202       +5  -1      rpm/rpmdb/rpmdb.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.1781 -r1.1782 CHANGES
  --- rpm/CHANGES       9 Nov 2007 20:10:59 -0000       1.1781
  +++ rpm/CHANGES       9 Nov 2007 21:04:35 -0000       1.1782
  @@ -1,4 +1,6 @@
   4.5 -> 5.0:
  +    - jbj: hmmm, headerGetExtension should not leak memory on failure. hack 
it.
  +    - jbj: more memory leak canoodling.
       - jbj: plug a couple of memory leaks.
       - jbj: rearrange the steaming piles of ick into an aesthetic 
constellation.
       - jbj: squeaky clean SSL memory cleanup. Ick.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/depends.c
  ============================================================================
  $ cvs diff -u -r1.358 -r1.359 depends.c
  --- rpm/lib/depends.c 9 Nov 2007 20:11:00 -0000       1.358
  +++ rpm/lib/depends.c 9 Nov 2007 21:04:35 -0000       1.359
  @@ -562,6 +562,8 @@
       cpuinfoP = rpmdsFree(cpuinfoP);
       getconfP = rpmdsFree(getconfP);
       unameP = rpmdsFree(unameP);
  +    _sysinfo_path = _free(_sysinfo_path);
  +    sysinfo_path = _free(sysinfo_path);
   }
   
   /**
  @@ -900,6 +902,7 @@
            sysinfo_path = xstrdup(SYSCONFIGDIR "/sysinfo");
        }
       }
  +
       if (!rpmioAccess(sysinfo_path, NULL, R_OK)) {
   #ifdef       NOTYET  /* XXX just sysinfo Provides: for now. */
        rpmTag tagN = (Name[0] == '/' ? RPMTAG_DIRNAMES : RPMTAG_PROVIDENAME);
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmchecksig.c
  ============================================================================
  $ cvs diff -u -r1.168 -r1.169 rpmchecksig.c
  --- rpm/lib/rpmchecksig.c     8 Nov 2007 19:40:40 -0000       1.168
  +++ rpm/lib/rpmchecksig.c     9 Nov 2007 21:04:35 -0000       1.169
  @@ -874,6 +874,7 @@
            res++;
            goto exit;
        }
  +     msg = _free(msg);
   }
   
   if (!_nosigh) {
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmds.c
  ============================================================================
  $ cvs diff -u -r2.77 -r2.78 rpmds.c
  --- rpm/lib/rpmds.c   3 Nov 2007 23:44:00 -0000       2.77
  +++ rpm/lib/rpmds.c   9 Nov 2007 21:04:35 -0000       2.78
  @@ -1545,7 +1545,7 @@
   
   #define      _ETC_RPM_SYSINFO        SYSCONFIGDIR "/sysinfo"
   /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ /[EMAIL 
PROTECTED]@*/
  -static const char *_sysinfo_path = NULL;
  +const char *_sysinfo_path = NULL;
   
   /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/
   static const char *_sysinfo_tags[] = {
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmds.h
  ============================================================================
  $ cvs diff -u -r2.60 -r2.61 rpmds.h
  --- rpm/lib/rpmds.h   3 Nov 2007 23:44:00 -0000       2.60
  +++ rpm/lib/rpmds.h   9 Nov 2007 21:04:35 -0000       2.61
  @@ -18,6 +18,9 @@
   extern int _rpmds_debug;
   /[EMAIL PROTECTED]@*/
   
  +/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ /[EMAIL 
PROTECTED]@*/
  +extern const char *_sysinfo_path;
  +
   /**
    */
   /[EMAIL PROTECTED]@*/
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/pkgio.c
  ============================================================================
  $ cvs diff -u -r1.22 -r1.23 pkgio.c
  --- rpm/rpmdb/pkgio.c 8 Nov 2007 19:40:40 -0000       1.22
  +++ rpm/rpmdb/pkgio.c 9 Nov 2007 21:04:36 -0000       1.23
  @@ -434,7 +434,7 @@
       else
        l = _free(l);
        
  -    if (msg != NULL) {
  +    if (msg != NULL && buf[0] != '\0') {
        buf[sizeof(buf)-1] = '\0';
        *msg = xstrdup(buf);
       }
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/rpmdb.c
  ============================================================================
  $ cvs diff -u -r1.201 -r1.202 rpmdb.c
  --- rpm/rpmdb/rpmdb.c 8 Nov 2007 16:20:13 -0000       1.201
  +++ rpm/rpmdb/rpmdb.c 9 Nov 2007 21:04:36 -0000       1.202
  @@ -2891,8 +2891,12 @@
                continue;
                /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ break;
            default:
  -             if (!hge(h, he, 0))
  +             xx = hge(h, he, 0);
  +             if (!xx) {
  +                 /* XXX FIXME: headerGetExtension shouldn't malloc. */
  +                 he->p.ptr = _free(he->p.ptr);
                    continue;
  +             }
                /[EMAIL PROTECTED]@*/ break;
   
            }
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to