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: 02-May-2017 22:18:55 Branch: rpm-5_4 Handle: 2017050220185500 Modified files: (Branch: rpm-5_4) rpm/rpmio rpmku.c rpmku.h Log: - splint: RIP. Summary: Revision Changes Path 2.6.2.4 +3 -35 rpm/rpmio/rpmku.c 2.3.6.1 +3 -10 rpm/rpmio/rpmku.h ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/rpmio/rpmku.c ============================================================================ $ cvs diff -u -r2.6.2.3 -r2.6.2.4 rpmku.c --- rpm/rpmio/rpmku.c 7 Aug 2013 20:44:47 -0000 2.6.2.3 +++ rpm/rpmio/rpmku.c 2 May 2017 20:18:55 -0000 2.6.2.4 @@ -26,24 +26,17 @@ #include "debug.h" -/*@access pgpDigParams@ */ -/*@access rpmiob @*/ - #if defined(HAVE_KEYUTILS_H) -/*@unchecked@*/ rpmint32_t _kuKeyring; -/*@unchecked@*/ static int _kuCache = 1; typedef struct _kuItem_s { -/*@observer@*/ const char *name; key_serial_t val; } * _kuItem; /* NB: the following table must be sorted lexically for bsearch(3). */ -/*@unchecked@*/ /*@observer@*/ static struct _kuItem_s kuTable[] = { { "group", KEY_SPEC_GROUP_KEYRING }, { "process", KEY_SPEC_PROCESS_KEYRING }, @@ -53,42 +46,33 @@ { "user", KEY_SPEC_USER_KEYRING }, { "user_session", KEY_SPEC_USER_SESSION_KEYRING }, }; - -/*@unchecked@*/ static size_t nkuTable = sizeof(kuTable) / sizeof(kuTable[0]); static int kuCmp(const void * a, const void * b) - /*@*/ { return strcmp(((_kuItem)a)->name, ((_kuItem)b)->name); } static key_serial_t kuValue(const char * name) - /*@*/ { _kuItem k = NULL; if (name != NULL && *name != '\0') { _kuItem tmp = (_kuItem) memset(alloca(sizeof(*tmp)), 0, sizeof(*tmp)); -/*@-temptrans@*/ tmp->name = name; -/*@=temptrans@*/ k = (_kuItem)bsearch(tmp, kuTable, nkuTable, sizeof(kuTable[0]), kuCmp); } return (k != NULL ? k->val : 0); } #endif /* HAVE_KEYUTILS_H */ -/*@-globs -internalglobs -mods @*/ char * _GetPass(const char * prompt) { char * pw; -/*@-unrecog@*/ pw = getpass( prompt ? prompt : "" ); -/*@=unrecog@*/ #if defined(HAVE_KEYUTILS_H) if (_kuKeyring == 0) { @@ -110,15 +94,11 @@ #endif /* HAVE_KEYUTILS_H */ assert(pw != NULL); -/*@-observertrans -statictrans@*/ return pw; -/*@=observertrans =statictrans@*/ } -/*@=globs =internalglobs =mods @*/ -char * _RequestPass(/*@unused@*/ const char * prompt) +char * _RequestPass(const char * prompt) { -/*@only@*/ /*@relnull@*/ static char * password = NULL; #if defined(HAVE_KEYUTILS_H) const char * foo = "user rpm:yyyy spoon"; @@ -138,30 +118,23 @@ key = request_key(av[0], av[1], av[2], dest); av = argvFree(av); -/*@-nullstate@*/ /* XXX *password may be null. */ xx = keyctl_read_alloc(key, (void **)&password); -/*@=nullstate@*/ if (password == NULL) password = (char *) ""; #endif /* HAVE_KEYUTILS_H */ -/*@-statictrans@*/ return password; -/*@=statictrans@*/ } -/*@-redecl@*/ char * (*Getpass) (const char * prompt) = _GetPass; -/*@=redecl@*/ -rpmRC rpmkuFindPubkey(pgpDigParams sigp, /*@out@*/ rpmiob * iobp) +rpmRC rpmkuFindPubkey(pgpDigParams sigp, rpmiob * iobp) { if (iobp != NULL) *iobp = NULL; #if defined(HAVE_KEYUTILS_H) if (_kuCache) { -/*@observer@*/ static const char krprefix[] = "rpm:gpg:pubkey:"; key_serial_t keyring = (key_serial_t) _kuKeyring; char krfp[32]; @@ -201,11 +174,10 @@ return RPMRC_NOTFOUND; } -rpmRC rpmkuStorePubkey(pgpDigParams sigp, /*@only@*/ rpmiob iob) +rpmRC rpmkuStorePubkey(pgpDigParams sigp, rpmiob iob) { #if defined(HAVE_KEYUTILS_H) if (_kuCache) { -/*@observer@*/ static const char krprefix[] = "rpm:gpg:pubkey:"; key_serial_t keyring = (key_serial_t) _kuKeyring; char krfp[32]; @@ -215,9 +187,7 @@ krfp[sizeof(krfp)-1] = '\0'; *krn = '\0'; (void) stpcpy( stpcpy(krn, krprefix), krfp); -/*@-moduncon -noeffectuncon @*/ (void) add_key("user", krn, iob->b, iob->blen, keyring); -/*@=moduncon =noeffectuncon @*/ } #endif /* HAVE_KEYUTILS_H */ iob = rpmiobFree(iob); @@ -234,11 +204,9 @@ long key; int xx; -/*@-moduncon@*/ key = keyctl_search(keyring, "user", "rpm:passwd", 0); pw = NULL; xx = keyctl_read_alloc(key, (void **)&pw); -/*@=moduncon@*/ if (xx < 0) pw = NULL; } else @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmku.h ============================================================================ $ cvs diff -u -r2.3 -r2.3.6.1 rpmku.h --- rpm/rpmio/rpmku.h 30 Mar 2009 14:27:02 -0000 2.3 +++ rpm/rpmio/rpmku.h 2 May 2017 20:18:55 -0000 2.3.6.1 @@ -8,7 +8,6 @@ /** * Keyutils keyring to use. */ -/*@unchecked@*/ extern rpmint32_t _kuKeyring; #ifdef __cplusplus @@ -21,9 +20,7 @@ * @retval *iobp pubkey I/O buffer * @return RPMRC_OK on success */ -rpmRC rpmkuFindPubkey(pgpDigParams sigp, /*@out@*/ rpmiob * iobp) - /*@globals fileSystem @*/ - /*@modifies *iobp, fileSystem @*/; +rpmRC rpmkuFindPubkey(pgpDigParams sigp, rpmiob * iobp); /** * Store pubkey in keyutils keyring. @@ -31,18 +28,14 @@ * @param iob pubkey I/O buffer * @return RPMRC_OK on success */ -rpmRC rpmkuStorePubkey(pgpDigParams sigp, /*@only@*/ rpmiob iob) - /*@globals fileSystem @*/ - /*@modifies iob, fileSystem @*/; +rpmRC rpmkuStorePubkey(pgpDigParams sigp, rpmiob iob); /** * Return pass phrase from keyutils keyring. * @param passPhrase pass phrase * @return (malloc'd) pass phrase */ -/*@null@*/ -const char * rpmkuPassPhrase(const char * passPhrase) - /*@*/; +const char * rpmkuPassPhrase(const char * passPhrase); #ifdef __cplusplus } @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org