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

Reply via email to