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: 27-Mar-2009 22:18:20 Branch: rpm-5_1 Handle: 2009032721181801 Modified files: (Branch: rpm-5_1) rpm CHANGES rpm/lib .splintrc depends.c fs.h fsm.c manifest.h poptALL.c psm.c psm.h query.c rpmal.c rpmds.c rpmds.h rpmfc.c rpmfc.h rpmfi.c rpmfi.h rpmgi.c rpmgi.h rpmps.c rpmps.h rpmsx.c rpmsx.h rpmte.c rpmte.h rpmts.c transaction.c verify.c Log: - rpmlib: rescusitate splint annotations. Summary: Revision Changes Path 1.2288.2.252+1 -0 rpm/CHANGES 2.17.2.1 +26 -30 rpm/lib/.splintrc 1.394.2.20 +1 -1 rpm/lib/depends.c 1.4.4.1 +2 -4 rpm/lib/fs.h 2.169.2.5 +10 -2 rpm/lib/fsm.c 2.7.10.1 +1 -2 rpm/lib/manifest.h 2.90.2.19 +10 -0 rpm/lib/poptALL.c 2.298.2.15 +19 -6 rpm/lib/psm.c 2.63.2.6 +4 -0 rpm/lib/psm.h 2.201.2.2 +1 -1 rpm/lib/query.c 2.67.2.3 +4 -0 rpm/lib/rpmal.c 2.94.2.16 +14 -8 rpm/lib/rpmds.c 2.66.2.10 +8 -0 rpm/lib/rpmds.h 1.48.2.3 +6 -3 rpm/lib/rpmfc.c 1.8.2.2 +2 -2 rpm/lib/rpmfc.h 2.123.2.9 +11 -2 rpm/lib/rpmfi.c 2.54.2.11 +4 -0 rpm/lib/rpmfi.h 2.52.2.8 +12 -6 rpm/lib/rpmgi.c 2.26.2.5 +4 -0 rpm/lib/rpmgi.h 2.22.2.7 +5 -3 rpm/lib/rpmps.c 2.18.2.5 +4 -0 rpm/lib/rpmps.h 2.20.2.5 +6 -3 rpm/lib/rpmsx.c 2.14.2.5 +4 -0 rpm/lib/rpmsx.h 2.79.2.11 +18 -8 rpm/lib/rpmte.c 2.47.2.8 +9 -2 rpm/lib/rpmte.h 2.145.2.11 +14 -11 rpm/lib/rpmts.c 1.371.2.7 +4 -0 rpm/lib/transaction.c 2.188.2.3 +2 -0 rpm/lib/verify.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/CHANGES ============================================================================ $ cvs diff -u -r1.2288.2.251 -r1.2288.2.252 CHANGES --- rpm/CHANGES 27 Mar 2009 17:42:30 -0000 1.2288.2.251 +++ rpm/CHANGES 27 Mar 2009 21:18:18 -0000 1.2288.2.252 @@ -1,4 +1,5 @@ 5.1.7 -> 5.1.8: + - jbj: rpmlib: rescusitate splint annotations. - jbj: rpmdb: rescusitate splint annotations. - jbj: rpmtsOrder: fully enable parentdir deps when ordering. - jbj: rpmtsOrder: enable parentdir/linkto ordering relations. @@ . patch -p0 <<'@@ .' Index: rpm/lib/.splintrc ============================================================================ $ cvs diff -u -r2.17 -r2.17.2.1 .splintrc --- rpm/lib/.splintrc 4 Mar 2008 00:30:54 -0000 2.17 +++ rpm/lib/.splintrc 27 Mar 2009 21:18:18 -0000 2.17.2.1 @@ -1,4 +1,4 @@ --I. -I.. -I../build -I../rpmdb -I../rpmio -I../xar/include -I/usr/include/beecrypt -I/usr/include/nss3 -I/usr/include/nspr4 -DHAVE_CONFIG_H -D_GNU_SOURCE -D__STDC__=1 +-I. -I.. -I../build -I../rpmdb -I../rpmio -I../db3 -I../xar/include -I/usr/include/beecrypt -I/usr/include/nss3 -I/usr/include/nspr4 -DHAVE_CONFIG_H -D_GNU_SOURCE -D__STDC__=1 +partial +forcehints @@ -16,38 +16,35 @@ +slovak-fcns -bufferoverflowhigh --warnlintcomments # 1 ARGSUSED in getdate.y - +-bounds -branchstate + +-abstract # 234 -compdef -compmempass --globs --globstate --globuse --incondefs --infloops --internalglobs --modobserver --mods --mustmod --nullderef # 11 --nullpass # 31 --nullptrarith # 1 --nullstate # 9 --predboolothers --redecl # 38 --usereleased - --abstract --castexpose -+voidabstract - --dependenttrans --kepttrans --observertrans --onlytrans +-evalorder # 100 +-globs # 8 h_errno et al +-incondefs # 12 +-internalglobs # 39 +-modfilesys # 83 +-modobserver # 7 +-noeffect # 3 +-nullassign +-nullderef # 18 +-nullpass # 31 +-nullptrarith +-nullret +-nullstate # 23 HE_t needs null annotations +-redecl # 38 +-shadow +-type +-usereleased # 26 + +-kepttrans # 37 +-newreftrans +-onlytrans # 29 -ownedtrans --readonlytrans +-refcounttrans # 24 -temptrans -unqualifiedtrans @@ -93,4 +90,3 @@ +boolint # 106 +charint # 173 +ignorequals # 397 -+matchanyintegral # 115 @@ . patch -p0 <<'@@ .' Index: rpm/lib/depends.c ============================================================================ $ cvs diff -u -r1.394.2.19 -r1.394.2.20 depends.c --- rpm/lib/depends.c 27 Mar 2009 17:27:35 -0000 1.394.2.19 +++ rpm/lib/depends.c 27 Mar 2009 21:18:18 -0000 1.394.2.20 @@ -2443,7 +2443,7 @@ /* XXX Attempt to avoid loops by filtering out deep paths. */ if (countSlashes(rpmdsN(requires)) > slashDepth) - continue; + /*...@innercontinue@*/ continue; /* T3. Record next "q <- p" relation (i.e. "p" requires "q"). */ (void) addRelation(ts, p, selected, requires); @@ . patch -p0 <<'@@ .' Index: rpm/lib/fs.h ============================================================================ $ cvs diff -u -r1.4 -r1.4.4.1 fs.h --- rpm/lib/fs.h 3 Nov 2007 23:44:00 -0000 1.4 +++ rpm/lib/fs.h 27 Mar 2009 21:18:18 -0000 1.4.4.1 @@ -28,8 +28,7 @@ /*...@null@*/ /*...@out@*/ uint32_t * num) /*...@globals fileSystem, internalState @*/ /*...@modifies *listptr, *num, fileSystem, internalState @*/ - /*...@requires maxSet(listptr) >= 0 /\ maxSet(num) >= 0 @*/ - /*...@ensures maxRead(num) == 0 @*/; + /*...@requires maxSet(listptr) >= 0 /\ maxSet(num) >= 0 @*/; /*...@=incondefs@*/ /** @@ -50,8 +49,7 @@ /*...@modifies *usagesPtr, rpmGlobalMacroContext, fileSystem, internalState @*/ /*...@requires maxSet(fileList) >= 0 /\ maxSet(fssizes) == 0 - /\ maxSet(usagesPtr) >= 0 @*/ - /*...@ensures maxRead(usagesPtr) == 0 @*/; + /\ maxSet(usagesPtr) >= 0 @*/; /*...@=incondefs@*/ #ifdef __cplusplus @@ . patch -p0 <<'@@ .' Index: rpm/lib/fsm.c ============================================================================ $ cvs diff -u -r2.169.2.4 -r2.169.2.5 fsm.c --- rpm/lib/fsm.c 26 Mar 2009 20:09:59 -0000 2.169.2.4 +++ rpm/lib/fsm.c 27 Mar 2009 21:18:18 -0000 2.169.2.5 @@ -153,7 +153,9 @@ FSMI_t iter = NULL; iter = xcalloc(1, sizeof(*iter)); +/*...@-assignexpose -castexpose @*/ iter->fi = rpmfiLink(fi, "mapIterator"); +/*...@=assignexpose =castexpose @*/ iter->reverse = reverse; iter->i = (iter->reverse ? (fi->fc - 1) : 0); iter->isave = iter->i; @@ -668,12 +670,16 @@ fsm->goal = goal; if (cfd != NULL) { +/*...@-assignexpose -castexpose @*/ fsm->cfd = fdLink(cfd, "persist (fsm)"); +/*...@=assignexpose =castexpose @*/ pos = fdGetCpioPos(fsm->cfd); fdSetCpioPos(fsm->cfd, 0); } fsm->iter = mapInitIterator(fi, reverse); +/*...@-assignexpose -castexpose @*/ fsm->iter->ts = rpmtsLink(ts, "mapIterator"); +/*...@=assignexpose =castexpose @*/ fsm->nofcontexts = (rpmtsFlags(ts) & RPMTRANS_FLAG_NOCONTEXTS); fsm->nofdigests = (ts != NULL && !(rpmtsFlags(ts) & RPMTRANS_FLAG_NOFDIGESTS)) @@ -756,9 +762,10 @@ fsm->fcontext = NULL; if (!fsm->nofcontexts) { security_context_t scon = NULL; +/*...@-moduncon@*/ int xx = matchpathcon(fsm->path, fsm->sb.st_mode, &scon); +/*...@=moduncon@*/ -/*...@-moduncon@*/ if (!xx && scon != NULL) fsm->fcontext = scon; #ifdef DYING /* XXX SELinux file contexts not set from package content. */ @@ -771,7 +778,6 @@ fsm->fcontext = (fi->fcontexts ? fi->fcontexts[i] : NULL); } #endif -/*...@=moduncon@*/ } return 0; } @@ -1477,9 +1483,11 @@ security_context_t scon = NULL; /* XXX FIXME? only new dir will have context set. */ /* Get file security context from patterns. */ +/*...@-moduncon@*/ if (!fsm->nofcontexts && !matchpathcon(fsm->path, st->st_mode, &scon) && scon != NULL) +/*...@=moduncon@*/ { fsm->fcontext = scon; rc = fsmNext(fsm, IOSM_LSETFCON); @@ . patch -p0 <<'@@ .' Index: rpm/lib/manifest.h ============================================================================ $ cvs diff -u -r2.7 -r2.7.10.1 manifest.h --- rpm/lib/manifest.h 18 Oct 2004 01:08:56 -0000 2.7 +++ rpm/lib/manifest.h 27 Mar 2009 21:18:18 -0000 2.7.10.1 @@ -18,8 +18,7 @@ /*...@-incondefs@*/ /*...@only@*/ char * rpmPermsString(int mode) - /*...@*/ - /*...@ensures maxSet(result) == 10 /\ maxRead(result) == 10 @*/; + /*...@*/; /*...@=incondefs@*/ /** @@ . patch -p0 <<'@@ .' Index: rpm/lib/poptALL.c ============================================================================ $ cvs diff -u -r2.90.2.18 -r2.90.2.19 poptALL.c --- rpm/lib/poptALL.c 26 Mar 2009 21:52:12 -0000 2.90.2.18 +++ rpm/lib/poptALL.c 27 Mar 2009 21:18:18 -0000 2.90.2.19 @@ -452,18 +452,24 @@ /*...@globals keyids @*/ /*...@modifies keyids @*/ { +/*...@-nestedextern@*/ extern rpmioPool _headerPool; #ifdef NOTYET extern rpmioPool _rpmmiPool; #endif extern rpmioPool _rpmdbPool; extern rpmioPool _rpmwfPool; + extern const char * evr_tuple_order; extern const char * evr_tuple_match; extern miRE evr_tuple_mire; +/*...@=nestedextern@*/ +/*...@-mods@*/ + evr_tuple_order = _free(evr_tuple_order); evr_tuple_match = _free(evr_tuple_match); evr_tuple_mire = mireFree(evr_tuple_mire); +/*...@-onlyunqglobaltrans@*/ _rpmgiPool = rpmioFreePool(_rpmgiPool); _psmPool = rpmioFreePool(_psmPool); @@ -484,6 +490,8 @@ _rpmwfPool = rpmioFreePool(_rpmwfPool); _rpmdbPool = rpmioFreePool(_rpmdbPool); _headerPool = rpmioFreePool(_headerPool); +/*...@=onlyunqglobaltrans@*/ +/*...@=mods@*/ /* XXX this should be done in the rpmioClean() wrapper. */ /* keeps memory leak checkers quiet */ @@ -511,7 +519,9 @@ /*...@=noeffect@*/ #endif +/*...@-globstate@*/ return NULL; +/*...@=globstate@*/ } static inline int checkfd(const char * devnull, int fdno, int flags) @@ . patch -p0 <<'@@ .' Index: rpm/lib/psm.c ============================================================================ $ cvs diff -u -r2.298.2.14 -r2.298.2.15 psm.c --- rpm/lib/psm.c 26 Mar 2009 20:09:59 -0000 2.298.2.14 +++ rpm/lib/psm.c 27 Mar 2009 21:18:18 -0000 2.298.2.15 @@ -161,7 +161,9 @@ int i; memset(psm, 0, sizeof(*psm)); +/*...@-assignexpose -castexpose @*/ psm->ts = rpmtsLink(ts, "InstallSourcePackage"); +/*...@=assignexpose =castexpose @*/ /*...@-mods@*/ /* Avoid void * _fd annotations for now. */ rpmrc = rpmReadPackageFile(ts, fd, "InstallSourcePackage", &h); @@ -214,9 +216,9 @@ assert(((rpmte)fi->te)->h == NULL); /* XXX headerFree side effect */ (void) rpmteSetHeader(fi->te, fi->h); /*...@-mods@*/ /* LCL: avoid void * _fd annotation for now. */ -/*...@-refcounttrans -temptrans @*/ /* FIX: XfdLink annotation */ +/*...@-assignexpose -castexpose -temptrans @*/ ((rpmte)fi->te)->fd = fdLink(fd, "installSourcePackage"); -/*...@=refcounttrans =temptrans @*/ +/*...@=assignexpose =castexpose =temptrans @*/ /*...@=mods@*/ (void) headerMacrosLoad(fi->h); @@ -377,8 +379,10 @@ if (fi != NULL) { (void) rpmteSetHeader(fi->te, NULL); +/*...@-mods@*/ /* Avoid void * _fd annotations for now. */ if (((rpmte)fi->te)->fd != NULL) (void) Fclose(((rpmte)fi->te)->fd); +/*...@=mods@*/ ((rpmte)fi->te)->fd = NULL; fi->te = NULL; #if 0 @@ -1415,7 +1419,9 @@ } tagno = _trigger_tag; +/*...@-castexpose@*/ triggers = rpmdsLink(psm->triggers, "ImmedTriggers"); +/*...@=castexpose@*/ if (triggers == NULL) goto exit; @@ -1542,6 +1548,7 @@ /*...@noteached@*/ } +/*...@-mustmod@*/ static void rpmpsmFini(void * _psm) /*...@modifies _psm @*/ { @@ -1567,12 +1574,14 @@ psm->triggers = NULL; /*...@=nullstate@*/ } +/*...@=mustmod@*/ -/*...@unchecked@*/ /*...@null@*/ +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/ rpmioPool _psmPool; static rpmpsm rpmpsmGetPool(/*...@null@*/ rpmioPool pool) - /*...@modifies pool @*/ + /*...@globals _psmPool, fileSystem, internalState @*/ + /*...@modifies pool, _psmPool, fileSystem, internalState @*/ { rpmpsm psm; @@ -1589,15 +1598,17 @@ static const char msg[] = "rpmpsmNew"; rpmpsm psm = rpmpsmGetPool(_psmPool); +/*...@-assignexpose -castexpose @*/ if (ts) psm->ts = rpmtsLink(ts, msg); #ifdef NOTYET if (te) psm->te = rpmteLink(te, msg); #else -/*...@-assignexpose -temptrans @*/ +/*...@-temptrans @*/ if (te) psm->te = te; -/*...@=assignexpose =temptrans @*/ +/*...@=temptrans @*/ #endif if (fi) psm->fi = rpmfiLink(fi, msg); +/*...@=assignexpose =castexpose @*/ psm->triggers = NULL; psm->NVRA = NULL; @@ -2774,8 +2785,10 @@ psm->mi = rpmtsInitIterator(ts, RPMDBI_PACKAGES, &fi->record, sizeof(fi->record)); fi->h = rpmdbNextIterator(psm->mi); +/*...@-castexpose@*/ if (fi->h != NULL) fi->h = headerLink(fi->h); +/*...@=castexpose@*/ psm->mi = rpmdbFreeIterator(psm->mi); if (fi->h != NULL) { @@ . patch -p0 <<'@@ .' Index: rpm/lib/psm.h ============================================================================ $ cvs diff -u -r2.63.2.5 -r2.63.2.6 psm.h --- rpm/lib/psm.h 26 Mar 2009 20:09:59 -0000 2.63.2.5 +++ rpm/lib/psm.h 27 Mar 2009 21:18:18 -0000 2.63.2.6 @@ -170,6 +170,10 @@ pkgStage stage; /*!< Current psm stage. */ pkgStage nstage; /*!< Next psm stage. */ +#if defined(__LCLINT__) +/*...@refs@*/ + int nrefs; /*!< (unused) keep splint happy */ +#endif }; #ifdef __cplusplus @@ . patch -p0 <<'@@ .' Index: rpm/lib/query.c ============================================================================ $ cvs diff -u -r2.201.2.1 -r2.201.2.2 query.c --- rpm/lib/query.c 15 Oct 2008 19:20:27 -0000 2.201.2.1 +++ rpm/lib/query.c 27 Mar 2009 21:18:18 -0000 2.201.2.2 @@ -658,7 +658,7 @@ if (*s == '\0') { char fnbuf[PATH_MAX]; - fn = realpath(arg, fnbuf); + fn = Realpath(arg, fnbuf); fn = xstrdup( (fn != NULL ? fn : arg) ); } else if (*arg != '/') { const char *curDir = currentDirectory(); @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmal.c ============================================================================ $ cvs diff -u -r2.67.2.2 -r2.67.2.3 rpmal.c --- rpm/lib/rpmal.c 26 Mar 2009 20:09:59 -0000 2.67.2.2 +++ rpm/lib/rpmal.c 27 Mar 2009 21:18:18 -0000 2.67.2.3 @@ -453,10 +453,14 @@ fprintf(stderr, "*** add %p[%d] 0x%x\n", al->list, pkgNum, tscolor); /*...@=modfilesys@*/ +/*...@-assignexpose -castexpose @*/ alp->provides = rpmdsLink(provides, "Provides (rpmalAdd)"); alp->fi = rpmfiLink(fi, "Files (rpmalAdd)"); +/*...@=assignexpose =castexpose @*/ +/*...@-castexpose@*/ fi = rpmfiLink(alp->fi, "Files index (rpmalAdd)"); +/*...@=castexpose@*/ fi = rpmfiInit(fi, 0); if (rpmfiFC(fi) > 0) { dirInfo dieNeedle = @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmds.c ============================================================================ $ cvs diff -u -r2.94.2.15 -r2.94.2.16 rpmds.c --- rpm/lib/rpmds.c 26 Mar 2009 20:10:00 -0000 2.94.2.15 +++ rpm/lib/rpmds.c 27 Mar 2009 21:18:19 -0000 2.94.2.16 @@ -173,11 +173,12 @@ ds->include = mireFreeAll(ds->include, ds->ninclude); } -/*...@unchecked@*/ /*...@null@*/ +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/ rpmioPool _rpmdsPool; static rpmds rpmdsGetPool(/*...@null@*/ rpmioPool pool) - /*...@modifies pool @*/ + /*...@globals _rpmdsPool, fileSystem, internalState @*/ + /*...@modifies pool, _rpmdsPool, fileSystem, internalState @*/ { rpmds ds; @@ -933,10 +934,10 @@ #endif size_t nb; +/*...@-assignexpose -castexpose @*/ ds->h = (ods->h != NULL ? headerLink(ods->h) : NULL); -/*...@-assignexpose@*/ ds->Type = ods->Type; -/*...@=assignexpose@*/ +/*...@=assignexpose =castexpose @*/ ds->tagN = ods->tagN; ds->Count = ods->Count; ds->i = ods->i; @@ -3591,8 +3592,8 @@ return rc; } -/*...@unchecked@*/ /*...@null@*/ -static const char * evr_tuple_order = NULL; +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/ +const char * evr_tuple_order = NULL; /** * Return precedence permutation string. @@ -3600,15 +3601,20 @@ */ /*...@observer@*/ static const char * rpmdsEVRorder(void) - /*...@*/ + /*...@globals evr_tuple_order @*/ + /*...@modifies evr_tuple_order @*/ { if (evr_tuple_order == NULL) { +/*...@-mods@*/ evr_tuple_order = rpmExpand("%{?evr_tuple_order}", NULL); +/*...@=mods@*/ if (evr_tuple_order == NULL || evr_tuple_order[0] == '\0') evr_tuple_order = xstrdup("EVR"); } assert(evr_tuple_order != NULL && evr_tuple_order[0] != '\0'); +/*...@-freshtrans@*/ return evr_tuple_order; +/*...@=freshtrans@*/ } int rpmdsCompare(const rpmds A, const rpmds B) @@ -3659,7 +3665,7 @@ for (s = rpmdsEVRorder(); *s; s++) { int ix; switch ((int)*s) { - default: continue; /*...@notreached@*/ break; + default: continue; /*...@notreached@*//*...@switchbreak@*/ break; case 'E': ix = RPMEVR_E; if (a->F[ix] && *a->F[ix] && b->F[ix] && *b->F[ix]) @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmds.h ============================================================================ $ cvs diff -u -r2.66.2.9 -r2.66.2.10 rpmds.h --- rpm/lib/rpmds.h 26 Mar 2009 20:10:00 -0000 2.66.2.9 +++ rpm/lib/rpmds.h 27 Mar 2009 21:18:19 -0000 2.66.2.10 @@ -75,6 +75,10 @@ unsigned l; /*!< Low element (bsearch). */ unsigned u; /*!< High element (bsearch). */ int nopromote; /*!< Don't promote Epoch: in rpmdsCompare()? */ +#if defined(__LCLINT__) +/*...@refs@*/ + int nrefs; /*!< (unused) keep splint happy */ +#endif }; #endif /* _RPMDS_INTERNAL */ @@ -114,6 +118,10 @@ rpmds D; /*!< Dirnames */ /*...@refcounted@*/ /*...@null@*/ rpmds L; /*!< Linktos */ +#if defined(__LCLINT__) +/*...@refs@*/ + int nrefs; /*!< (unused) keep splint happy */ +#endif }; #endif /* _RPMPRCO_INTERNAL */ @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmfc.c ============================================================================ $ cvs diff -u -r1.48.2.2 -r1.48.2.3 rpmfc.c --- rpm/lib/rpmfc.c 26 Mar 2009 20:10:00 -0000 1.48.2.2 +++ rpm/lib/rpmfc.c 27 Mar 2009 21:18:19 -0000 1.48.2.3 @@ -284,7 +284,6 @@ /*...@globals fileSystem, internalState @*/ /*...@modifies buf, fileSystem, internalState @*/ /*...@requires maxSet(buf) >= 0 @*/ - /*...@ensures maxRead(buf) == 0 @*/ { rpmTag tagN = rpmdsTagN(ds); char deptype = 'X'; @@ -1637,7 +1636,9 @@ return rc; } +/*...@-mustmod@*/ static void rpmfcFini(void * _fc) + /*...@modifies _fc @*/ { rpmfc fc = _fc; @@ -1660,12 +1661,14 @@ fc->sb_python = freeStringBuf(fc->sb_python); fc->sb_php = freeStringBuf(fc->sb_php); } +/*...@=mustmod@*/ -/*...@unchecked@*/ /*...@null@*/ +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/ rpmioPool _rpmfcPool; static rpmfc rpmfcGetPool(/*...@null@*/ rpmioPool pool) - /*...@modifies pool @*/ + /*...@globals _rpmfcPool, fileSystem, internalState @*/ + /*...@modifies pool, _rpmfcPool, fileSystem, internalState @*/ { rpmfc fc; @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmfc.h ============================================================================ $ cvs diff -u -r1.8.2.1 -r1.8.2.2 rpmfc.h --- rpm/lib/rpmfc.h 25 Mar 2009 13:39:06 -0000 1.8.2.1 +++ rpm/lib/rpmfc.h 27 Mar 2009 21:18:19 -0000 1.8.2.2 @@ -8,7 +8,7 @@ /** */ -typedef /*...@abstract@*/ struct rpmfc_s * rpmfc; +typedef /*...@abstract@*/ /*...@refcounted@*/ struct rpmfc_s * rpmfc; /** */ @@ -203,7 +203,7 @@ */ /*...@unused@*/ /*...@newref@*/ /*...@null@*/ rpmfc rpmfcLink (/*...@null@*/ rpmfc fc) - /*...@modifies ds @*/; + /*...@modifies fc @*/; #define rpmfcLink(_fc) \ ((rpmfc)rpmioLinkPoolItem((rpmioItem)(_fc), __FUNCTION__, __FILE__, __LINE__)) @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmfi.c ============================================================================ $ cvs diff -u -r2.123.2.8 -r2.123.2.9 rpmfi.c --- rpm/lib/rpmfi.c 26 Mar 2009 20:10:00 -0000 2.123.2.8 +++ rpm/lib/rpmfi.c 27 Mar 2009 21:18:19 -0000 2.123.2.9 @@ -759,10 +759,14 @@ validRelocations = _free(validRelocations); } /* XXX FIXME multilib file actions need to be checked. */ +/*...@-castexpose@*/ return headerLink(origH); +/*...@=castexpose@*/ } +/*...@-castexpose@*/ h = headerLink(origH); +/*...@=castexpose@*/ relocations = alloca(sizeof(*relocations) * numRelocations); @@ -1163,7 +1167,9 @@ fn = _free(fn); /*...@=dependenttrans@*/ +/*...@-retalias@*/ return h; +/*...@=retalias@*/ } int rpmfiSetHeader(rpmfi fi, Header h) @@ -1171,8 +1177,10 @@ if (fi->h != NULL) (void)headerFree(fi->h); fi->h = NULL; +/*...@-assignexpose -castexpose @*/ if (h != NULL) fi->h = headerLink(h); +/*...@=assignexpose =castexpose @*/ return 0; } @@ -1242,11 +1250,12 @@ fi->h = NULL; } -/*...@unchecked@*/ /*...@null@*/ +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/ rpmioPool _rpmfiPool; static rpmfi rpmfiGetPool(/*...@null@*/ rpmioPool pool) - /*...@modifies pool @*/ + /*...@globals _rpmfiPool, fileSystem, internalState @*/ + /*...@modifies pool, _rpmfiPool, fileSystem, internalState @*/ { rpmfi fi; @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmfi.h ============================================================================ $ cvs diff -u -r2.54.2.10 -r2.54.2.11 rpmfi.h --- rpm/lib/rpmfi.h 26 Mar 2009 20:10:00 -0000 2.54.2.10 +++ rpm/lib/rpmfi.h 27 Mar 2009 21:18:19 -0000 2.54.2.11 @@ -256,6 +256,10 @@ int magic; #define RPMFIMAGIC 0x09697923 /*=============================*/ +#if defined(__LCLINT__) +/*...@refs@*/ + int nrefs; /*!< (unused) keep splint happy */ +#endif }; #endif /* _RPMFI_INTERNAL */ @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmgi.c ============================================================================ $ cvs diff -u -r2.52.2.7 -r2.52.2.8 rpmgi.c --- rpm/lib/rpmgi.c 26 Mar 2009 20:10:00 -0000 2.52.2.7 +++ rpm/lib/rpmgi.c 27 Mar 2009 21:18:19 -0000 2.52.2.8 @@ -449,8 +449,10 @@ return rpmrc; } +/*...@-mustmod@*/ static void rpmgiFini(void * _gi) - /*...@modifies *_gi @*/ + /*...@globals rpmGlobalMacroContext @*/ + /*...@modifies _gi, rpmGlobalMacroContext @*/ { rpmgi gi = _gi; int xx; @@ -475,12 +477,14 @@ (void)rpmtsFree(gi->ts); gi->ts = NULL; } +/*...@=mustmod@*/ -/*...@unchecked@*/ /*...@null@*/ +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/ rpmioPool _rpmgiPool; static rpmgi rpmgiGetPool(/*...@null@*/ rpmioPool pool) - /*...@modifies pool @*/ + /*...@globals _rpmgiPool, fileSystem, internalState @*/ + /*...@modifies pool, _rpmgiPool, fileSystem, internalState @*/ { rpmgi gi; @@ -499,7 +503,9 @@ if (gi == NULL) /* XXX can't happen */ return NULL; +/*...@-assignexpose -castexpose @*/ gi->ts = rpmtsLink(ts, "rpmgiNew"); +/*...@=assignexpose =castexpose @*/ gi->tsOrder = rpmtsOrder; gi->tag = (rpmTag) tag; /*...@-assignexpose@*/ @@ -748,9 +754,9 @@ /* Permit access to indices used for depsolving. */ if (!(gi->flags & RPMGI_ERASING)) { - xx = rpmdbBlockDBI(rpmtsGetRdb(ts), +RPMTAG_PROVIDENAME); - xx = rpmdbBlockDBI(rpmtsGetRdb(ts), +RPMTAG_BASENAMES); - xx = rpmdbBlockDBI(rpmtsGetRdb(ts), +RPMDBI_DEPENDS); + xx = rpmdbBlockDBI(rpmtsGetRdb(ts), RPMTAG_PROVIDENAME); + xx = rpmdbBlockDBI(rpmtsGetRdb(ts), RPMTAG_BASENAMES); + xx = rpmdbBlockDBI(rpmtsGetRdb(ts), RPMDBI_DEPENDS); } /* XXX query/verify will need the glop added to a buffer instead. */ @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmgi.h ============================================================================ $ cvs diff -u -r2.26.2.4 -r2.26.2.5 rpmgi.h --- rpm/lib/rpmgi.h 26 Mar 2009 20:10:00 -0000 2.26.2.4 +++ rpm/lib/rpmgi.h 27 Mar 2009 21:18:19 -0000 2.26.2.5 @@ -79,6 +79,10 @@ /*...@null@*/ rpmRC (*stash) (rpmgi gi, Header h); +#if defined(__LCLINT__) +/*...@refs@*/ + int nrefs; /*!< (unused) keep splint happy */ +#endif }; #endif @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmps.c ============================================================================ $ cvs diff -u -r2.22.2.6 -r2.22.2.7 rpmps.c --- rpm/lib/rpmps.c 20 Mar 2009 19:13:22 -0000 2.22.2.6 +++ rpm/lib/rpmps.c 27 Mar 2009 21:18:19 -0000 2.22.2.7 @@ -19,12 +19,12 @@ /*...@unchecked@*/ int _rpmps_debug = 0; - -/*...@unchecked@*/ /*...@null@*/ +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/ rpmioPool _rpmpsPool; static rpmps rpmpsGetPool(/*...@null@*/ rpmioPool pool) - /*...@modifies pool @*/ + /*...@globals _rpmpsPool, fileSystem, internalState @*/ + /*...@modifies pool, _rpmpsPool, fileSystem, internalState @*/ { rpmps ps; @@ -49,7 +49,9 @@ rpmpsi psi = NULL; if (ps != NULL) { psi = xcalloc(1, sizeof(*psi)); +/*...@-assignexpose -castexpose @*/ psi->ps = rpmpsLink(ps, "iter ref"); +/*...@=assignexpose =castexpose @*/ psi->ix = -1; } return psi; @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmps.h ============================================================================ $ cvs diff -u -r2.18.2.4 -r2.18.2.5 rpmps.h --- rpm/lib/rpmps.h 26 Mar 2009 20:10:00 -0000 2.18.2.4 +++ rpm/lib/rpmps.h 27 Mar 2009 21:18:19 -0000 2.18.2.5 @@ -86,6 +86,10 @@ int numProblems; /*!< Current probs array size. */ int numProblemsAlloced; /*!< Allocated probs array size. */ rpmProblem probs; /*!< Array of specific problems. */ +#if defined(__LCLINT__) +/*...@refs@*/ + int nrefs; /*!< (unused) keep splint happy */ +#endif }; /** @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmsx.c ============================================================================ $ cvs diff -u -r2.20.2.4 -r2.20.2.5 rpmsx.c --- rpm/lib/rpmsx.c 21 Mar 2009 21:54:10 -0000 2.20.2.4 +++ rpm/lib/rpmsx.c 27 Mar 2009 21:18:19 -0000 2.20.2.5 @@ -201,8 +201,9 @@ return -1; } +/*...@-mustmod@*/ static void rpmsxFini(void * _sx) - /*...@modifies *_sx @*/ + /*...@modifies _sx @*/ { rpmsx sx = _sx; int i; @@ -225,12 +226,14 @@ } sx->sxs = _free(sx->sxs); } +/*...@=mustmod@*/ -/*...@unchecked@*/ /*...@null@*/ +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/ rpmioPool _rpmsxPool; static rpmsx rpmsxGetPool(/*...@null@*/ rpmioPool pool) - /*...@modifies pool @*/ + /*...@globals _rpmsxPool, fileSystem, internalState @*/ + /*...@modifies pool, _rpmsxPool, fileSystem, internalState @*/ { rpmsx sx; @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmsx.h ============================================================================ $ cvs diff -u -r2.14.2.4 -r2.14.2.5 rpmsx.h --- rpm/lib/rpmsx.h 26 Mar 2009 20:10:00 -0000 2.14.2.4 +++ rpm/lib/rpmsx.h 27 Mar 2009 21:18:19 -0000 2.14.2.5 @@ -72,6 +72,10 @@ int nsxs; /*!< No. of file stems. */ int maxsxs; /*!< No. of allocated file stems. */ int reverse; /*!< Reverse traversal? */ +#if defined(__LCLINT__) +/*...@refs@*/ + int nrefs; /*!< (unused) keep splint happy */ +#endif }; #endif /* defined(_RPMSX_INTERNAL) */ @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmte.c ============================================================================ $ cvs diff -u -r2.79.2.10 -r2.79.2.11 rpmte.c --- rpm/lib/rpmte.c 26 Mar 2009 20:10:00 -0000 2.79.2.10 +++ rpm/lib/rpmte.c 27 Mar 2009 21:18:19 -0000 2.79.2.11 @@ -206,18 +206,19 @@ } static void rpmteFini(void * _te) - /*...@modifies *_te @*/ + /*...@modifies _te @*/ { rpmte te = _te; - delTE(te); - } + delTE(te); +} -/*...@unchecked@*/ /*...@null@*/ +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/ rpmioPool _rpmtePool; static rpmte rpmteGetPool(/*...@null@*/ rpmioPool pool) - /*...@modifies pool @*/ + /*...@globals _rpmtePool, fileSystem, internalState @*/ + /*...@modifies pool, _rpmtePool, fileSystem, internalState @*/ { rpmte te; @@ -277,7 +278,9 @@ Header rpmteHeader(rpmte te) { +/*...@-castexpose -retalias -retexpose @*/ return (te != NULL && te->h != NULL ? headerLink(te->h) : NULL); +/*...@=castexpose =retalias =retexpose @*/ } Header rpmteSetHeader(rpmte te, Header h) @@ -285,8 +288,10 @@ if (te != NULL) { (void)headerFree(te->h); te->h = NULL; +/*...@-assignexpose -castexpose @*/ if (h != NULL) te->h = headerLink(h); +/*...@=assignexpose =castexpose @*/ } return NULL; } @@ -704,8 +709,9 @@ return tsi->ocsave; } +/*...@-mustmod@*/ static void rpmtsiFini(void * _tsi) - /*...@modifies *_tsi @*/ + /*...@modifies _tsi @*/ { rpmtsi tsi = _tsi; /*...@-internalglobs@*/ @@ -713,12 +719,14 @@ tsi->ts = NULL; /*...@=internalglobs@*/ } +/*...@=mustmod@*/ -/*...@unchecked@*/ /*...@null@*/ +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/ rpmioPool _rpmtsiPool; static rpmtsi rpmtsiGetPool(/*...@null@*/ rpmioPool pool) - /*...@modifies pool @*/ + /*...@globals _rpmtsiPool, fileSystem, internalState @*/ + /*...@modifies pool, _rpmtsiPool, fileSystem, internalState @*/ { rpmtsi tsi; @@ -734,7 +742,9 @@ { rpmtsi tsi = rpmtsiGetPool(_rpmtsiPool); +/*...@-assignexpose -castexpose @*/ tsi->ts = rpmtsLink(ts, "rpmtsi"); +/*...@=assignexpose =castexpose @*/ tsi->reverse = 0; tsi->oc = (tsi->reverse ? (rpmtsNElements(ts) - 1) : 0); tsi->ocsave = tsi->oc; @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmte.h ============================================================================ $ cvs diff -u -r2.47.2.7 -r2.47.2.8 rpmte.h --- rpm/lib/rpmte.h 26 Mar 2009 20:10:00 -0000 2.47.2.7 +++ rpm/lib/rpmte.h 27 Mar 2009 21:18:19 -0000 2.47.2.8 @@ -23,7 +23,7 @@ /** \ingroup rpmte * Transaction element iterator. */ -typedef /*...@abstract@*/ struct rpmtsi_s * rpmtsi; +typedef /*...@abstract@*/ /*...@refcounted@*/ struct rpmtsi_s *rpmtsi; /** \ingroup rpmte * Transaction element type. @@ -165,7 +165,10 @@ int dboffset; } removed; } u; - +#if defined(__LCLINT__) +/*...@refs@*/ + int nrefs; /*!< (unused) keep splint happy */ +#endif }; /** \ingroup rpmte @@ -178,6 +181,10 @@ int reverse; /*!< reversed traversal? */ int ocsave; /*!< last returned iterator index. */ int oc; /*!< iterator index. */ +#if defined(__LCLINT__) +/*...@refs@*/ + int nrefs; /*!< (unused) keep splint happy */ +#endif }; #endif /* _RPMTE_INTERNAL */ @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmts.c ============================================================================ $ cvs diff -u -r2.145.2.10 -r2.145.2.11 rpmts.c --- rpm/lib/rpmts.c 27 Mar 2009 14:51:40 -0000 2.145.2.10 +++ rpm/lib/rpmts.c 27 Mar 2009 21:18:19 -0000 2.145.2.11 @@ -496,8 +496,10 @@ static const char msg[] = "rpmtsProblems"; rpmps ps = NULL; if (ts) { +/*...@-castexpose@*/ if (ts->probs) ps = rpmpsLink(ts->probs, msg); +/*...@=castexpose@*/ } return ps; } @@ -612,7 +614,7 @@ } static void rpmtsFini(void * _ts) - /*...@modifies *_ts @*/ + /*...@modifies _ts @*/ { rpmts ts = _ts; @@ -643,17 +645,15 @@ ts->dsi = _free(ts->dsi); if (ts->scriptFd != NULL) { -/*...@-refcounttrans@*/ /* FIX: XfdFree annotation */ +/*...@-assignexpose@*/ ts->scriptFd = fdFree(ts->scriptFd, __FUNCTION__); -/*...@=refcounttrans@*/ +/*...@=assignexpose@*/ ts->scriptFd = NULL; } ts->rootDir = _free(ts->rootDir); ts->currDir = _free(ts->currDir); -/*...@-type +voidabstract @*/ /* FIX: double indirection */ ts->order = _free(ts->order); -/*...@=type =voidabstract @*/ ts->orderAlloced = 0; ts->pkpkt = _free(ts->pkpkt); @@ -673,11 +673,12 @@ } } -/*...@unchecked@*/ /*...@null@*/ +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/ rpmioPool _rpmtsPool; static rpmts rpmtsGetPool(/*...@null@*/ rpmioPool pool) - /*...@modifies pool @*/ + /*...@globals _rpmtsPool, fileSystem, internalState @*/ + /*...@modifies pool, _rpmtsPool, fileSystem, internalState @*/ { rpmts ts; @@ -833,13 +834,15 @@ if (ts != NULL) { if (ts->scriptFd != NULL) { +/*...@-assignexpose@*/ ts->scriptFd = fdFree(ts->scriptFd, "rpmtsSetScriptFd"); +/*...@=assignexpose@*/ ts->scriptFd = NULL; } -/*...@+voidabstract@*/ +/*...@-assignexpose -castexpose @*/ if (scriptFd != NULL) ts->scriptFd = fdLink((void *)scriptFd, "rpmtsSetScriptFd"); -/*...@=voidabstract@*/ +/*...@=assignexpose =castexpose @*/ } } @@ -1129,9 +1132,9 @@ /*...@-type@*/ /* FIX: cast? */ /*...@-noeffectuncon @*/ /* FIX: check rc */ if (te) { -/*...@-mods@*/ /* XXX noisy in transaction.c */ +/*...@-castexpose -m...@*/ /* XXX noisy in transaction.c */ h = headerLink(te->h); -/*...@=mods@*/ +/*...@=castexpose =m...@*/ cbkey = rpmteKey(te); } else { h = NULL; @@ . patch -p0 <<'@@ .' Index: rpm/lib/transaction.c ============================================================================ $ cvs diff -u -r1.371.2.6 -r1.371.2.7 transaction.c --- rpm/lib/transaction.c 26 Mar 2009 20:10:00 -0000 1.371.2.6 +++ rpm/lib/transaction.c 27 Mar 2009 21:18:19 -0000 1.371.2.7 @@ -1184,7 +1184,9 @@ if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOCONTEXTS)) { const char * fn = rpmGetPath("%{?_install_file_context_path}", NULL); +/*...@-moduncon@*/ int xx = matchpathcon_init(fn); +/*...@=moduncon@*/ if (xx == -1) (void) rpmtsSetFlags(ts, (rpmtsFlags(ts) | RPMTRANS_FLAG_NOCONTEXTS)); fn = _free(fn); @@ -1972,8 +1974,10 @@ pi = rpmtsiFree(pi); } +/*...@-moduncon -noeffectuncon @*/ if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOCONTEXTS)) matchpathcon_fini(); +/*...@=moduncon =noeffectuncon @*/ lock = rpmtsFreeLock(lock); @@ . patch -p0 <<'@@ .' Index: rpm/lib/verify.c ============================================================================ $ cvs diff -u -r2.188.2.2 -r2.188.2.3 verify.c --- rpm/lib/verify.c 21 Mar 2009 17:33:38 -0000 2.188.2.2 +++ rpm/lib/verify.c 27 Mar 2009 21:18:19 -0000 2.188.2.3 @@ -275,7 +275,9 @@ te = t = buf; *te = '\0'; +/*...@-castexpose@*/ fi = rpmfiLink(fi, "verifyHeader"); +/*...@=castexpose@*/ fi = rpmfiInit(fi, 0); if (fi != NULL) /* XXX lclint */ while ((i = rpmfiNext(fi)) >= 0) { @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org