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: 21-Mar-2009 16:26:26 Branch: rpm-5_1 Handle: 2009032115262302 Modified files: (Branch: rpm-5_1) rpm CHANGES rpm/lib rpmchecksig.c rpm/python rpmts-py.c rpm/rpmdb hdrfmt.c pkgio.c rpmwf.c signature.c rpm/rpmio librpmio.vers rpmio.c rpmio_internal.h rpmpgp.c rpmpgp.h rpmxar.c rpmxar.h Log: - yarn: wire up rpmxarFini, eliminate rpmxarFree. - yarn: wire up pgpDigFini, eliminate pgpDigFree. Summary: Revision Changes Path 1.2288.2.227+2 -0 rpm/CHANGES 1.215.2.3 +2 -2 rpm/lib/rpmchecksig.c 1.86.2.3 +1 -1 rpm/python/rpmts-py.c 1.77.2.11 +1 -1 rpm/rpmdb/hdrfmt.c 1.78.2.4 +3 -3 rpm/rpmdb/pkgio.c 1.22.4.1 +3 -3 rpm/rpmdb/rpmwf.c 1.47.2.4 +1 -1 rpm/rpmdb/signature.c 2.63.2.15 +0 -4 rpm/rpmio/librpmio.vers 1.127.2.15 +2 -2 rpm/rpmio/rpmio.c 2.102.2.5 +1 -1 rpm/rpmio/rpmio_internal.h 2.90.2.6 +21 -33 rpm/rpmio/rpmpgp.c 2.72.2.6 +5 -10 rpm/rpmio/rpmpgp.h 2.17.2.4 +15 -27 rpm/rpmio/rpmxar.c 2.9.4.3 +5 -2 rpm/rpmio/rpmxar.h ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/CHANGES ============================================================================ $ cvs diff -u -r1.2288.2.226 -r1.2288.2.227 CHANGES --- rpm/CHANGES 21 Mar 2009 14:21:21 -0000 1.2288.2.226 +++ rpm/CHANGES 21 Mar 2009 15:26:23 -0000 1.2288.2.227 @@ -1,4 +1,6 @@ 5.1.7 -> 5.1.8: + - jbj: yarn: wire up rpmxarFini, eliminate rpmxarFree. + - jbj: yarn: wire up pgpDigFini, eliminate pgpDigFree. - jbj: yarn: wire up urlFini, eliminate XurlFree. - jbj: yarn: wire up fdFini, eliminate XfdFree. - jbj: url: fix: u->use clobbers the lock from the pool. @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmchecksig.c ============================================================================ $ cvs diff -u -r1.215.2.2 -r1.215.2.3 rpmchecksig.c --- rpm/lib/rpmchecksig.c 11 Jan 2009 03:27:52 -0000 1.215.2.2 +++ rpm/lib/rpmchecksig.c 21 Mar 2009 15:26:24 -0000 1.215.2.3 @@ -162,7 +162,7 @@ } he->p.ptr = _free(he->p.ptr); - dig = pgpDigFree(dig); + dig = pgpDigFree(dig, "getSignid"); } return rc; } @@ -698,7 +698,7 @@ exit: /* Clean up. */ h = headerFree(h); - dig = pgpDigFree(dig); + dig = pgpDigFree(dig, "rpmcliImportPubkey"); n = _free(n); u = _free(u); v = _free(v); @@ . patch -p0 <<'@@ .' Index: rpm/python/rpmts-py.c ============================================================================ $ cvs diff -u -r1.86.2.2 -r1.86.2.3 rpmts-py.c --- rpm/python/rpmts-py.c 6 Oct 2008 19:11:38 -0000 1.86.2.2 +++ rpm/python/rpmts-py.c 21 Mar 2009 15:26:24 -0000 1.86.2.3 @@ -978,7 +978,7 @@ dig = pgpDigNew(rpmtsVSFlags(s->ts)); rpmrc = headerCheck(dig, uh, uc, &msg); - dig = pgpDigFree(dig); + dig = pgpDigFree(dig, "rpmts_HdrCheck"); switch (rpmrc) { case RPMRC_OK: @@ . patch -p0 <<'@@ .' Index: rpm/rpmdb/hdrfmt.c ============================================================================ $ cvs diff -u -r1.77.2.10 -r1.77.2.11 hdrfmt.c --- rpm/rpmdb/hdrfmt.c 11 Jan 2009 20:42:40 -0000 1.77.2.10 +++ rpm/rpmdb/hdrfmt.c 21 Mar 2009 15:26:24 -0000 1.77.2.11 @@ -1197,7 +1197,7 @@ goto again; t = stpcpy(t, tempstr); - dig = pgpDigFree(dig); + dig = pgpDigFree(dig, "pgpsigFormat"); } } @@ . patch -p0 <<'@@ .' Index: rpm/rpmdb/pkgio.c ============================================================================ $ cvs diff -u -r1.78.2.3 -r1.78.2.4 pkgio.c --- rpm/rpmdb/pkgio.c 11 Jan 2009 03:26:21 -0000 1.78.2.3 +++ rpm/rpmdb/pkgio.c 21 Mar 2009 15:26:25 -0000 1.78.2.4 @@ -363,7 +363,7 @@ opx = RPMTS_OP_SIGNATURE; (void) rpmswAdd(rpmtsOp(ts, opx), pgpStatsAccumulator(ts->dig, opx)); /*...@-onlytrans@*/ - ts->dig = pgpDigFree(ts->dig); + ts->dig = pgpDigFree(ts->dig, "rpmtsCleanDig"); /*...@=onlytrans@*/ } } @@ -485,7 +485,7 @@ assert(fn != NULL); xar = rpmxarNew(fn, "r"); fdSetXAR(fd, xar); - (void) rpmxarFree(xar); + (void) rpmxarFree(xar, "rdLead"); } } @@ -1368,7 +1368,7 @@ if (hdrp && h && rc == RPMRC_OK) *hdrp = headerLink(h); ei = _free(ei); - dig = pgpDigFree(dig); + dig = pgpDigFree(dig, "rpmReadHeader"); h = headerFree(h); if (msg != NULL && *msg == NULL && buf[0] != '\0') { @@ . patch -p0 <<'@@ .' Index: rpm/rpmdb/rpmwf.c ============================================================================ $ cvs diff -u -r1.22 -r1.22.4.1 rpmwf.c --- rpm/rpmdb/rpmwf.c 26 Nov 2007 21:05:57 -0000 1.22 +++ rpm/rpmdb/rpmwf.c 21 Mar 2009 15:26:25 -0000 1.22.4.1 @@ -224,7 +224,7 @@ /*...@=dependenttrans@*/ } - wf->xar = rpmxarFree(wf->xar); + wf->xar = rpmxarFree(wf->xar, "rpmwfFree"); (void) rpmwfFini(wf); wf->fn = _free(wf->fn); @@ -314,7 +314,7 @@ while (rpmxarNext(wf->xar) == 0) rc = rpmwfPullXAR(wf, NULL); - wf->xar = rpmxarFree(wf->xar); + wf->xar = rpmxarFree(wf->xar, "rdXAR"); /*...@-noeffect@*/ if (_rpmwf_debug) rpmwfDump(wf, "rdXAR", xarfn); @@ -345,7 +345,7 @@ goto exit; exit: - wf->xar = rpmxarFree(wf->xar); + wf->xar = rpmxarFree(wf->xar, "wrXAR"); return rc; } @@ . patch -p0 <<'@@ .' Index: rpm/rpmdb/signature.c ============================================================================ $ cvs diff -u -r1.47.2.3 -r1.47.2.4 signature.c --- rpm/rpmdb/signature.c 11 Jan 2009 03:26:21 -0000 1.47.2.3 +++ rpm/rpmdb/signature.c 21 Mar 2009 15:26:25 -0000 1.47.2.4 @@ -278,7 +278,7 @@ break; } - dig = pgpDigFree(dig); + dig = pgpDigFree(dig, "makeGPGSignature"); return 0; } @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers ============================================================================ $ cvs diff -u -r2.63.2.14 -r2.63.2.15 librpmio.vers --- rpm/rpmio/librpmio.vers 21 Mar 2009 14:21:22 -0000 2.63.2.14 +++ rpm/rpmio/librpmio.vers 21 Mar 2009 15:26:25 -0000 2.63.2.15 @@ -201,7 +201,6 @@ pgpArmorWrap; pgpCompressionTbl; pgpDigClean; - pgpDigFree; pgpDigNew; pgpDigVSFlags; _pgp_debug; @@ -389,14 +388,11 @@ rpmswPrint; rpmswSub; rpmUndefineMacro; - rpmxarFree; - XrpmxarLink; rpmxarNew; rpmxarNext; rpmxarPush; rpmxarPull; rpmxarSwapBuf; - XrpmxarUnlink; rpmuuidMake; rpmzLogAdd; rpmzLogDump; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmio.c ============================================================================ $ cvs diff -u -r1.127.2.14 -r1.127.2.15 rpmio.c --- rpm/rpmio/rpmio.c 20 Mar 2009 22:04:01 -0000 1.127.2.14 +++ rpm/rpmio/rpmio.c 21 Mar 2009 15:26:25 -0000 1.127.2.15 @@ -308,9 +308,9 @@ fd->ndigests = 0; /*...@-onlytrans@*/ #ifdef WITH_XAR - fd->xar = rpmxarFree(fd->xar); + fd->xar = rpmxarFree(fd->xar, "fdFini"); #endif - fd->dig = pgpDigFree(fd->dig); + fd->dig = pgpDigFree(fd->dig, "fdFini"); /*...@=onlytrans@*/ } @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmio_internal.h ============================================================================ $ cvs diff -u -r2.102.2.4 -r2.102.2.5 rpmio_internal.h --- rpm/rpmio/rpmio_internal.h 20 Mar 2009 19:13:24 -0000 2.102.2.4 +++ rpm/rpmio/rpmio_internal.h 21 Mar 2009 15:26:25 -0000 2.102.2.5 @@ -227,7 +227,7 @@ /*...@modifies fd, dig @*/ { FDSANE(fd); - fd->dig = pgpDigFree(fd->dig); + fd->dig = pgpDigFree(fd->dig, "fdSetDig"); fd->dig = pgpDigLink(dig, "fdSetDig"); } @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmpgp.c ============================================================================ $ cvs diff -u -r2.90.2.5 -r2.90.2.6 rpmpgp.c --- rpm/rpmio/rpmpgp.c 20 Mar 2009 19:13:24 -0000 2.90.2.5 +++ rpm/rpmio/rpmpgp.c 21 Mar 2009 15:26:25 -0000 2.90.2.6 @@ -1007,22 +1007,6 @@ /*...@unchecked@*/ pgpVSFlags pgpDigVSFlags; -/*...@unchecked@*/ /*...@null@*/ -rpmioPool _digPool; - -static pgpDig digGetPool(/*...@null@*/ rpmioPool pool) - /*...@modifies pool @*/ -{ - pgpDig dig; - - if (_digPool == NULL) { - _digPool = rpmioNewPool("dig", sizeof(*dig), -1, _pgp_debug, - NULL, NULL, NULL); - pool = _digPool; - } - return (pgpDig) rpmioGetPool(pool, sizeof(*dig)); -} - void pgpDigClean(pgpDig dig) { if (dig != NULL) { @@ -1056,18 +1040,11 @@ /*...@=nullstate@*/ } -pgpDig pgpDigFree(pgpDig dig) +static void pgpDigFini(void * _dig) + /*...@modifies _dig @*/ { - if (dig == NULL) - return NULL; + pgpDig dig = _dig; -/*...@-onlytrans@*/ - yarnPossess(dig->_item.use); -/*...@-modfilesys@*/ -if (_pgp_debug < 0) -fprintf(stderr, "--> dig %p -- %ld %s at %s:%u\n", dig, yarnPeekLock(dig->_item.use), "pgpDigFree", __FILE__, __LINE__); -/*...@=modfilesys@*/ - if (yarnPeekLock(dig->_item.use) <= 1L) { /* Lose the header tag data. */ /* XXX this free should be done somewhere else. */ dig->sig = _free(dig->sig); @@ -1102,11 +1079,22 @@ dig->impl = pgpImplFree(dig->impl); -/*...@=onlytrans@*/ - dig = (pgpDig) rpmioPutPool((rpmioItem)dig); - } else - yarnTwist(dig->_item.use, BY, -1); - return NULL; +} + +/*...@unchecked@*/ /*...@null@*/ +rpmioPool _digPool; + +static pgpDig digGetPool(/*...@null@*/ rpmioPool pool) + /*...@modifies pool @*/ +{ + pgpDig dig; + + if (_digPool == NULL) { + _digPool = rpmioNewPool("dig", sizeof(*dig), -1, _pgp_debug, + NULL, NULL, pgpDigFini); + pool = _digPool; + } + return (pgpDig) rpmioGetPool(pool, sizeof(*dig)); } pgpDig pgpDigNew(/*...@unused@*/ pgpVSFlags vsflags) @@ -1262,7 +1250,7 @@ _digp = NULL; if (pgpGrabPkts(pkts, pktlen, &ppkts, &npkts) || ppkts == NULL) { - _dig = pgpDigFree(_dig); + _dig = pgpDigFree(_dig, "pgpPrtPkts"); return -1; } @@ -1279,7 +1267,7 @@ } else ppkts = _free(ppkts); - _dig = pgpDigFree(_dig); + _dig = pgpDigFree(_dig, "pgpPrtPkts"); return 0; } /*...@=globstate =incondefs =nullderef @*/ @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmpgp.h ============================================================================ $ cvs diff -u -r2.72.2.5 -r2.72.2.6 rpmpgp.h --- rpm/rpmio/rpmpgp.h 20 Mar 2009 19:13:24 -0000 2.72.2.5 +++ rpm/rpmio/rpmpgp.h 21 Mar 2009 15:26:25 -0000 2.72.2.6 @@ -1473,15 +1473,8 @@ pgpDig pgpDigUnlink (/*...@killref@*/ /*...@only@*/ /*...@null@*/ pgpDig dig, /*...@null@*/ const char * msg) /*...@modifies dig @*/; - -/** @todo Remove debugging entry from the ABI. */ -/*...@-exportlocal@*/ -/*...@null@*/ -pgpDig XpgpDigUnlink (/*...@killref@*/ /*...@only@*/ /*...@null@*/ pgpDig dig, - /*...@null@*/ const char * msg, const char * fn, unsigned ln) - /*...@modifies dig @*/; -/*...@=exportlocal@*/ -#define pgpDigUnlink(_dig, _msg) XpgpDigUnlink(_dig, _msg, __FILE__, __LINE__) +#define pgpDigUnlink(_dig, _msg) \ + ((pgpDig)rpmioUnlinkPoolItem((rpmioItem)(_dig), _msg, __FILE__, __LINE__)) /** \ingroup rpmpgp * Reference a signature parameters instance. @@ -1500,9 +1493,11 @@ * @param dig signature parameters container * @return NULL always */ -/*...@null@*/ +/*...@unused@*/ /*...@null@*/ pgpDig pgpDigFree(/*...@killref@*/ /*...@only@*/ /*...@null@*/ pgpDig dig) /*...@modifies dig @*/; +#define pgpDigFree(_dig, _msg) \ + ((pgpDig)rpmioFreePoolItem((rpmioItem)(_dig), _msg, __FILE__, __LINE__)) /** \ingroup rpmpgp * Create a container for parsed OpenPGP packates. @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmxar.c ============================================================================ $ cvs diff -u -r2.17.2.3 -r2.17.2.4 rpmxar.c --- rpm/rpmio/rpmxar.c 20 Mar 2009 19:13:24 -0000 2.17.2.3 +++ rpm/rpmio/rpmxar.c 21 Mar 2009 15:26:25 -0000 2.17.2.4 @@ -72,29 +72,10 @@ /*...@unchecked@*/ /*...@null@*/ rpmioPool _xarPool; -static rpmxar rpmxarGetPool(/*...@null@*/ rpmioPool pool) - /*...@modifies pool @*/ +static void rpmxarFini(void * _xar) + /*@ modifies *_xar @*/ { - rpmxar xar; - - if (_xarPool == NULL) { - _xarPool = rpmioNewPool("xar", sizeof(*xar), -1, _xar_debug, - NULL, NULL, NULL); - pool = _xarPool; - } - return (rpmxar) rpmioGetPool(pool, sizeof(*xar)); -} -rpmxar rpmxarFree(rpmxar xar) -{ - if (xar == NULL) - return NULL; - yarnPossess(xar->_item.use); -/*...@-modfilesys@*/ -if (_xar_debug) -fprintf(stderr, "--> xar %p -- %ld %s at %s:%u\n", xar, yarnPeekLock(xar->_item.use), "rpmxarFree", __FILE__, __LINE__); -/*...@=modfilesys@*/ - if (yarnPeekLock(xar->_item.use) <= 1L) { -/*...@-onlytrans@*/ + rpmxar xar =_xar; if (xar->i) { xar_iter_free(xar->i); xar->i = NULL; @@ -107,12 +88,19 @@ xar->member = _free(xar->member); xar->b = _free(xar->b); +} -/*...@=onlytrans@*/ - xar = (rpmxar) rpmioPutPool((rpmioItem)xar); - } else - yarnTwist(xar->_item.use, BY, -1); - return NULL; +static rpmxar rpmxarGetPool(/*...@null@*/ rpmioPool pool) + /*...@modifies pool @*/ +{ + rpmxar xar; + + if (_xarPool == NULL) { + _xarPool = rpmioNewPool("xar", sizeof(*xar), -1, _xar_debug, + NULL, NULL, rpmxarFini); + pool = _xarPool; + } + return (rpmxar) rpmioGetPool(pool, sizeof(*xar)); } rpmxar rpmxarNew(const char * fn, const char * fmode) @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmxar.h ============================================================================ $ cvs diff -u -r2.9.4.2 -r2.9.4.3 rpmxar.h --- rpm/rpmio/rpmxar.h 20 Mar 2009 19:13:24 -0000 2.9.4.2 +++ rpm/rpmio/rpmxar.h 21 Mar 2009 15:26:25 -0000 2.9.4.3 @@ -60,9 +60,12 @@ #define rpmxarLink(_xar, _msg) \ ((rpmxar)rpmioLinkPoolItem((rpmioItem)(_xar), _msg, __FILE__, __LINE__)) -/*...@null@*/ -rpmxar rpmxarFree(/*...@killref@*/ /*...@only@*/ rpmxar xar) +/*...@unused@*/ /*...@null@*/ +rpmxar rpmxarFree(/*...@killref@*/ /*...@only@*/ rpmxar xar, + /*...@null@*/ const char * msg) /*...@modifies xar @*/; +#define rpmxarFree(_xar, _msg) \ + ((rpmxar)rpmioFreePoolItem((rpmioItem)(_xar), _msg, __FILE__, __LINE__)) /*...@-globuse@*/ /*...@relnull@*/ @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org