[git] GnuPG - branch, master, updated. gnupg-2.1.10-94-g8fd406c

by Werner Koch cvs at cvs.gnupg.org
Thu Jan 7 19:18:23 CET 2016


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The GNU Privacy Guard".

The branch, master has been updated
       via  8fd406c317ad7c2e375ae4f7d20656dadf6d7fcc (commit)
       via  8a56a38387c10c02ba0790c655dd5c1d08e4a724 (commit)
       via  008aa6e6d4b213c3a0d15509eb46cf168b6f2c94 (commit)
       via  126aebbb82667d160c8c4435898efeb3b43c4ec8 (commit)
       via  0de7d61437bd0bfbe645d5eed7a62df03129fb32 (commit)
       via  a41638acf4808caa619f4f3f4c0dcd12be00d6f8 (commit)
      from  2c3e67430d9b523c85c81ae562223fd51e3608cc (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 8fd406c317ad7c2e375ae4f7d20656dadf6d7fcc
Author: Werner Koch <wk at gnupg.org>
Date:   Thu Jan 7 19:07:59 2016 +0100

    gpg: Return an error code from keygrip_from_pk.
    
    * g10/keyid.c (keygrip_from_pk): Return an error code.
    --
    
    The error was show but the function did not return it.  This change
    should improve error messages for unknown algorithms.
    
    Signed-off-by: Werner Koch <wk at gnupg.org>

diff --git a/g10/keyid.c b/g10/keyid.c
index 69acbe4..f684276 100644
--- a/g10/keyid.c
+++ b/g10/keyid.c
@@ -883,7 +883,7 @@ keygrip_from_pk (PKT_public_key *pk, unsigned char *array)
     }
   gcry_sexp_release (s_pkey);
 
-  return 0;
+  return err;
 }
 
 

commit 8a56a38387c10c02ba0790c655dd5c1d08e4a724
Author: Werner Koch <wk at gnupg.org>
Date:   Thu Jan 7 19:05:35 2016 +0100

    gpg: Avoid warnings about possible NULL deref.
    
    * g10/getkey.c (cache_public_key): Protect deref of CE which actually
    can't happen.
    * g10/keygen.c (quickgen_set_para): s/sprintf/snprintf/.
    * g10/tofu.c (end_transaction, rollback_transaction): Allow NULL for
    DB.
    * g10/trustdb.c (update_min_ownertrust): Remove useless clearling of
    ERR.
    --
    
    Signed-off-by: Werner Koch <wk at gnupg.org>

diff --git a/g10/getkey.c b/g10/getkey.c
index 6a1fce6..e66be0d 100644
--- a/g10/getkey.c
+++ b/g10/getkey.c
@@ -196,7 +196,7 @@ cache_public_key (PKT_public_key * pk)
       /* Remove the last 50% of the entries.  */
       for (ce = pk_cache, n = 0; ce && n < pk_cache_entries/2; n++)
         ce = ce->next;
-      if (ce != pk_cache && ce->next)
+      if (ce && ce != pk_cache && ce->next)
         {
           ce2 = ce->next;
           ce->next = NULL;
diff --git a/g10/keygen.c b/g10/keygen.c
index 40619ca..94ea126 100644
--- a/g10/keygen.c
+++ b/g10/keygen.c
@@ -3395,7 +3395,7 @@ quickgen_set_para (struct para_data_s *para, int for_subkey,
   para = r;
   r = xmalloc_clear (sizeof *r + 20);
   r->key = for_subkey? pSUBKEYTYPE : pKEYTYPE;
-  sprintf (r->u.value, "%d", algo);
+  snprintf (r->u.value, 20, "%d", algo);
   r->next = para;
   para = r;
 
diff --git a/g10/tofu.c b/g10/tofu.c
index b7f61e9..903f076 100644
--- a/g10/tofu.c
+++ b/g10/tofu.c
@@ -306,6 +306,9 @@ end_transaction (struct db *db, int only_batch)
   int rc;
   char *err = NULL;
 
+  if (!db)
+    return 0;  /* Shortcut to allow for easier cleanup code.  */
+
   if ((! batch_update || only_batch == 2) && db->batch_update)
     /* The batch transaction is still in open, but we left batch
        mode.  */
@@ -353,6 +356,9 @@ rollback_transaction (struct db *db)
   int rc;
   char *err = NULL;
 
+  if (!db)
+    return 0;  /* Shortcut to allow for easier cleanup code.  */
+
   if (db->batch_update)
     /* Just undo the most recent update; don't revert any progress
        made by the batch transaction.  */
diff --git a/g10/trustdb.c b/g10/trustdb.c
index 9217dd9..cb2b5b9 100644
--- a/g10/trustdb.c
+++ b/g10/trustdb.c
@@ -781,7 +781,6 @@ update_min_ownertrust (u32 *kid, unsigned int new_trust )
       write_record (&rec);
       tdb_revalidation_mark ();
       do_sync ();
-      err = 0;
     }
   else
     {

commit 008aa6e6d4b213c3a0d15509eb46cf168b6f2c94
Author: Werner Koch <wk at gnupg.org>
Date:   Thu Jan 7 19:01:18 2016 +0100

    gpg: Fix warnings about useless assignments.
    
    * g10/armor.c (parse_hash_header): Remove duplicate var assignment.
    * g10/getkey.c (cache_user_id): Ditto.
    * g10/keygen.c (ask_curve): Ditto.  This also fixes a small memory
    leak.
    
    * g10/keygen.c (proc_parameter_file): Remove useless assignment or
    pointer increment.
    (generate_keypair): Ditto.
    * g10/getkey.c (finish_lookup, lookup): Ditto.
    * g10/card-util.c (change_pin): Ditto.
    * g10/gpg.c (main) <aVerify>: Ditto.
    * g10/import.c (import): Ditto.
    (print_import_check): Ditto
    * g10/keyring.c (do_copy): Ditto.
    * g10/tdbio.c (tdbio_read_record): Ditto.
    * g10/trustdb.c (tdb_update_ownertrust): Ditto.
    (update_validity): Ditto.
    
    * g10/server.c (cmd_passwd): Remove useless call to skip_options.
    
    --
    
    Signed-off-by: Werner Koch <wk at gnupg.org>

diff --git a/g10/armor.c b/g10/armor.c
index e368660..6c133a2 100644
--- a/g10/armor.c
+++ b/g10/armor.c
@@ -274,7 +274,7 @@ parse_hash_header( const char *line )
 	return 0; /* too short or too long */
     if( memcmp( line, "Hash:", 5 ) )
 	return 0; /* invalid header */
-    s = line+5;
+
     for(s=line+5;;s=s2) {
 	for(; *s && (*s==' ' || *s == '\t'); s++ )
 	    ;
diff --git a/g10/card-util.c b/g10/card-util.c
index 7196031..b48705b 100644
--- a/g10/card-util.c
+++ b/g10/card-util.c
@@ -145,7 +145,6 @@ change_pin (int unblock_v2, int allow_admin)
 	if (strlen (answer) != 1)
 	  continue;
 
-	rc = 0;
 	if (*answer == '1')
 	  {
             /* Change PIN.  */
diff --git a/g10/getkey.c b/g10/getkey.c
index 86a3c80..6a1fce6 100644
--- a/g10/getkey.c
+++ b/g10/getkey.c
@@ -300,7 +300,8 @@ cache_user_id (KBNODE keyblock)
 	  /* First check for duplicates.  */
 	  for (r = user_id_db; r; r = r->next)
 	    {
-	      keyid_list_t b = r->keyids;
+	      keyid_list_t b;
+
 	      for (b = r->keyids; b; b = b->next)
 		{
 		  if (!memcmp (b->fpr, a->fpr, MAX_FINGERPRINT_LEN))
@@ -2997,7 +2998,6 @@ finish_lookup (GETKEY_CTX ctx, KBNODE keyblock)
 	  if (DBG_LOOKUP)
 	    log_debug ("\tprimary key may be used\n");
 	  latest_key = keyblock;
-	  latest_date = pk->timestamp;
 	}
     }
 
@@ -3074,7 +3074,6 @@ lookup (getkey_ctx_t ctx, kbnode_t *ret_keyblock, kbnode_t *ret_found_key,
       if (rc)
 	{
 	  log_error ("keydb_get_keyblock failed: %s\n", gpg_strerror (rc));
-	  rc = 0;
 	  goto skip;
 	}
 
diff --git a/g10/gpg.c b/g10/gpg.c
index 0e61238..9b6a142 100644
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -3941,7 +3941,6 @@ main (int argc, char **argv)
 	break;
 
       case aVerify:
-        rc = 0;
 	if (multifile)
 	  {
 	    if ((rc = verify_files (ctrl, argc, argv)))
diff --git a/g10/import.c b/g10/import.c
index d35b5d5..8e75aa1 100644
--- a/g10/import.c
+++ b/g10/import.c
@@ -353,7 +353,6 @@ import (ctrl_t ctrl, IOBUF inp, const char* fname,struct import_stats_s *stats,
             && gpg_err_source (rc) == GPG_ERR_SOURCE_KEYBOX)
         {
           stats->not_imported++;
-          rc = 0;
         }
       else if (rc)
         break;
@@ -799,7 +798,6 @@ print_import_check (PKT_public_key * pk, PKT_user_id * id)
   for (i = 0; i < n; i++, pos += 2)
     sprintf (buf+pos, "%02X", fpr[i]);
   strcat (buf, " ");
-  pos += 1;
   strcat (buf, id->name);
   write_status_text (STATUS_IMPORT_CHECK, buf);
   xfree (buf);
diff --git a/g10/keygen.c b/g10/keygen.c
index 921e938..40619ca 100644
--- a/g10/keygen.c
+++ b/g10/keygen.c
@@ -2242,10 +2242,7 @@ ask_curve (int *algo, int *subkey_algo)
               && curves[idx].fix_curve)
             {
               if (subkey_algo && *subkey_algo == PUBKEY_ALGO_ECDSA)
-                {
-                  *subkey_algo = PUBKEY_ALGO_EDDSA;
-                  result = xstrdup ("Ed25519");
-                }
+                *subkey_algo = PUBKEY_ALGO_EDDSA;
               *algo = PUBKEY_ALGO_EDDSA;
               result = xstrdup ("Ed25519");
             }
@@ -3122,6 +3119,7 @@ proc_parameter_file (ctrl_t ctrl, struct para_data_s *para, const char *fname,
 	}
       else
 	{
+          r = get_parameter (para, pKEYSERVER);
 	  log_error("%s:%d: invalid keyserver url\n", fname, r->lnr );
 	  return -1;
 	}
@@ -3706,7 +3704,6 @@ generate_keypair (ctrl_t ctrl, int full, const char *fname,
               || algo == PUBKEY_ALGO_ECDH)
             {
               curve = ask_curve (&algo, NULL);
-              nbits = 0;
               r = xmalloc_clear (sizeof *r + strlen (curve));
               r->key = pKEYCURVE;
               strcpy (r->u.value, curve);
diff --git a/g10/keyring.c b/g10/keyring.c
index 0f1e058..4dc7e0a 100644
--- a/g10/keyring.c
+++ b/g10/keyring.c
@@ -1508,6 +1508,8 @@ keyring_rebuild_cache (void *token,int noisy)
                * the original file is closed */
               tmpfp = NULL;
             }
+          /* Static analyzer note: BAKFILENAME is never NULL here
+             because it is controlled by LASTRESNAME.  */
           rc = lastresname? rename_tmp_file (bakfilename, tmpfilename,
                                              lastresname) : 0;
           xfree (tmpfilename);  tmpfilename = NULL;
@@ -1720,7 +1722,6 @@ do_copy (int mode, const char *fname, KBNODE root,
 	    iobuf_cancel(newfp);
 	    goto leave;
 	}
-	rc = 0;
     }
 
     if( mode == 2 || mode == 3 ) { /* delete or update */
@@ -1764,7 +1765,6 @@ do_copy (int mode, const char *fname, KBNODE root,
 	    iobuf_cancel(newfp);
 	    goto leave;
 	}
-	rc = 0;
     }
 
     /* close both files */
diff --git a/g10/server.c b/g10/server.c
index e5539d5..31e35a9 100644
--- a/g10/server.c
+++ b/g10/server.c
@@ -623,7 +623,8 @@ cmd_passwd (assuan_context_t ctx, char *line)
   gpg_error_t err;
 
   (void)ctx;
-  line = skip_options (line);
+  (void)line;
+  /* line = skip_options (line); */
 
   err = gpg_error (GPG_ERR_NOT_SUPPORTED);
 
diff --git a/g10/tdbio.c b/g10/tdbio.c
index 63ccfae..3cc8bd3 100644
--- a/g10/tdbio.c
+++ b/g10/tdbio.c
@@ -1497,13 +1497,16 @@ tdbio_read_record (ulong recnum, TRUSTREC *rec, int expected)
           rec->r.ver.trust_model = *p++;
           rec->r.ver.min_cert_level = *p++;
           p += 2;
-          rec->r.ver.created  = buf32_to_ulong(p); p += 4;
-          rec->r.ver.nextcheck = buf32_to_ulong(p); p += 4;
+          rec->r.ver.created  = buf32_to_ulong(p);
           p += 4;
+          rec->r.ver.nextcheck = buf32_to_ulong(p);
           p += 4;
-          rec->r.ver.firstfree =buf32_to_ulong(p); p += 4;
           p += 4;
-          rec->r.ver.trusthashtbl =buf32_to_ulong(p); p += 4;
+          p += 4;
+          rec->r.ver.firstfree = buf32_to_ulong(p);
+          p += 4;
+          p += 4;
+          rec->r.ver.trusthashtbl = buf32_to_ulong(p);
           if (recnum)
             {
               log_error( _("%s: version record with recnum %lu\n"), db_name,
@@ -1520,37 +1523,43 @@ tdbio_read_record (ulong recnum, TRUSTREC *rec, int expected)
       break;
 
     case RECTYPE_FREE:
-      rec->r.free.next  = buf32_to_ulong(p); p += 4;
+      rec->r.free.next  = buf32_to_ulong(p);
       break;
 
     case RECTYPE_HTBL:
       for (i=0; i < ITEMS_PER_HTBL_RECORD; i++)
         {
-          rec->r.htbl.item[i] = buf32_to_ulong(p); p += 4;
+          rec->r.htbl.item[i] = buf32_to_ulong(p);
+          p += 4;
 	}
       break;
 
     case RECTYPE_HLST:
-      rec->r.hlst.next = buf32_to_ulong(p); p += 4;
+      rec->r.hlst.next = buf32_to_ulong(p);
+      p += 4;
       for (i=0; i < ITEMS_PER_HLST_RECORD; i++)
         {
-          rec->r.hlst.rnum[i] = buf32_to_ulong(p); p += 4;
+          rec->r.hlst.rnum[i] = buf32_to_ulong(p);
+          p += 4;
 	}
       break;
 
     case RECTYPE_TRUST:
-      memcpy (rec->r.trust.fingerprint, p, 20); p+=20;
+      memcpy (rec->r.trust.fingerprint, p, 20);
+      p+=20;
       rec->r.trust.ownertrust = *p++;
       rec->r.trust.depth = *p++;
       rec->r.trust.min_ownertrust = *p++;
       p++;
-      rec->r.trust.validlist = buf32_to_ulong(p); p += 4;
+      rec->r.trust.validlist = buf32_to_ulong(p);
       break;
 
     case RECTYPE_VALID:
-      memcpy (rec->r.valid.namehash, p, 20); p+=20;
+      memcpy (rec->r.valid.namehash, p, 20);
+      p+=20;
       rec->r.valid.validity = *p++;
-      rec->r.valid.next = buf32_to_ulong(p); p += 4;
+      rec->r.valid.next = buf32_to_ulong(p);
+      p += 4;
       rec->r.valid.full_count = *p++;
       rec->r.valid.marginal_count = *p++;
       break;
diff --git a/g10/trustdb.c b/g10/trustdb.c
index af839d1..9217dd9 100644
--- a/g10/trustdb.c
+++ b/g10/trustdb.c
@@ -724,7 +724,6 @@ tdb_update_ownertrust (PKT_public_key *pk, unsigned int new_trust )
       write_record (&rec);
       tdb_revalidation_mark ();
       do_sync ();
-      err = 0;
     }
   else
     {
@@ -858,7 +857,6 @@ update_validity (PKT_public_key *pk, PKT_user_id *uid,
       /* No record yet - create a new one. */
       size_t dummy;
 
-      err = 0;
       memset (&trec, 0, sizeof trec);
       trec.recnum = tdbio_new_recnum ();
       trec.rectype = RECTYPE_TRUST;

commit 126aebbb82667d160c8c4435898efeb3b43c4ec8
Author: Werner Koch <wk at gnupg.org>
Date:   Wed Jan 6 17:51:58 2016 +0100

    sm: Avoid warnings about useless assignments.
    
    * sm/call-dirmngr.c (prepare_dirmngr): Remove setting of ERR.
    (unhexify_fpr): Remove useless computation on N.
    * sm/certchain.c (do_validate_chain): Remove clearing of RC.  Remove
    useless setting of RC.
    * sm/fingerprint.c (gpgsm_get_keygrip): Remove setting of RC.
    * sm/gpgsm.c (build_list): Replace final stpcpy by strcpy.
    * sm/keydb.c (keydb_clear_some_cert_flags): Remove clearing of RC.
    * sm/server.c (cmd_getauditlog): Comment unused skip_options.
    
    Signed-off-by: Werner Koch <wk at gnupg.org>

diff --git a/sm/call-dirmngr.c b/sm/call-dirmngr.c
index b06397f..379d7e9 100644
--- a/sm/call-dirmngr.c
+++ b/sm/call-dirmngr.c
@@ -181,9 +181,11 @@ prepare_dirmngr (ctrl_t ctrl, assuan_context_t ctx, gpg_error_t err)
 		server->host, server->port, user, pass, base);
       line[DIM (line) - 1] = 0;
 
-      err = assuan_transact (ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
-      if (gpg_err_code (err) == GPG_ERR_ASS_UNKNOWN_CMD)
-	err = 0;  /* Allow the use of old dirmngr versions.  */
+      assuan_transact (ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
+      /* The code below is not required becuase we don't return an error.  */
+      /* err = [above call]  */
+      /* if (gpg_err_code (err) == GPG_ERR_ASS_UNKNOWN_CMD) */
+      /*   err = 0;  /\* Allow the use of old dirmngr versions.  *\/ */
 
       server = server->next;
     }
@@ -402,7 +404,6 @@ unhexify_fpr (const char *hexstr, unsigned char *fpr)
     ;
   if (*s || (n != 40))
     return 0; /* no fingerprint (invalid or wrong length). */
-  n /= 2;
   for (s=hexstr, n=0; *s; s += 2, n++)
     fpr[n] = xtoi_2 (s);
   return 1; /* okay */
diff --git a/sm/certchain.c b/sm/certchain.c
index d43147e..b884d3d 100644
--- a/sm/certchain.c
+++ b/sm/certchain.c
@@ -405,7 +405,9 @@ check_cert_policy (ksba_cert_t cert, int listmode, estream_t fplist)
         }
       while (!*p || *p == '\n' || *p == '#');
 
-      /* parse line */
+      /* Parse line.  Note that the line has always a LF and spacep
+         does not consider a LF a space.  Thus strpbrk will always
+         succeed.  */
       for (allowed=line; spacep (allowed); allowed++)
         ;
       p = strpbrk (allowed, " :\n");
@@ -1389,10 +1391,7 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
                                     exptime, listmode, listfp,
                                     (depth && is_root)? -1: depth);
       if (gpg_err_code (rc) == GPG_ERR_CERT_EXPIRED)
-        {
-          any_expired = 1;
-          rc = 0;
-        }
+        any_expired = 1;
       else if (rc)
         goto leave;
 
@@ -1409,7 +1408,7 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
           if (gpg_err_code (rc) == GPG_ERR_NO_POLICY_MATCH)
             {
               any_no_policy_match = 1;
-              rc = 1;
+              rc = 1;  /* Be on the safe side and set RC.  */
             }
           else if (rc)
             goto leave;
@@ -1612,7 +1611,8 @@ do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t checktime_arg,
                       /* The find next did not work or returned an
                          identical certificate.  We better stop here
                          to avoid infinite checks. */
-                      rc = gpg_error (GPG_ERR_BAD_SIGNATURE);
+                      /* No need to set RC because it is not used:
+                         rc = gpg_error (GPG_ERR_BAD_SIGNATURE);  */
                       ksba_cert_release (tmp_cert);
                     }
                   else
diff --git a/sm/fingerprint.c b/sm/fingerprint.c
index a82945e..8d2b800 100644
--- a/sm/fingerprint.c
+++ b/sm/fingerprint.c
@@ -192,7 +192,6 @@ gpgsm_get_keygrip (ksba_cert_t cert, unsigned char *array)
   gcry_sexp_release (s_pkey);
   if (!array)
     {
-      rc = gpg_error (GPG_ERR_GENERAL);
       log_error ("can't calculate keygrip\n");
       return NULL;
     }
diff --git a/sm/gpgsm.c b/sm/gpgsm.c
index 262781c..a0b7038 100644
--- a/sm/gpgsm.c
+++ b/sm/gpgsm.c
@@ -630,7 +630,7 @@ build_list (const char *text, const char * (*mapf)(int), int (*chkf)(int))
 	}
     }
   if (p)
-    p = stpcpy(p, "\n" );
+    strcpy (p, "\n" );
   return list;
 }
 
diff --git a/sm/keydb.c b/sm/keydb.c
index 02b353a..168cf2c 100644
--- a/sm/keydb.c
+++ b/sm/keydb.c
@@ -1291,11 +1291,7 @@ keydb_clear_some_cert_flags (ctrl_t ctrl, strlist_t names)
         {
           rc = classify_user_id (sl->d, desc+ndesc, 0);
           if (rc)
-            {
-              log_error ("key '%s' not found: %s\n",
-                         sl->d, gpg_strerror (rc));
-              rc = 0;
-            }
+            log_error ("key '%s' not found: %s\n", sl->d, gpg_strerror (rc));
           else
             ndesc++;
         }
diff --git a/sm/server.c b/sm/server.c
index f0512ef..e21c6a4 100644
--- a/sm/server.c
+++ b/sm/server.c
@@ -1083,7 +1083,7 @@ cmd_getauditlog (assuan_context_t ctx, char *line)
 
   opt_data = has_option (line, "--data");
   opt_html = has_option (line, "--html");
-  line = skip_options (line);
+  /* Not needed: line = skip_options (line); */
 
   if (!ctrl->audit)
     return gpg_error (GPG_ERR_NO_DATA);

commit 0de7d61437bd0bfbe645d5eed7a62df03129fb32
Author: Werner Koch <wk at gnupg.org>
Date:   Wed Jan 6 17:46:44 2016 +0100

    kbx: Avoid warnings about useless assignments.
    
    * kbx/keybox-dump.c (_keybox_dump_blob): Remove setting of IN_RANGE
    and the last increment of P.
    --
    
    Signed-off-by: Werner Koch <wk at gnupg.org>

diff --git a/kbx/keybox-dump.c b/kbx/keybox-dump.c
index 8815a6f..f4e7c98 100644
--- a/kbx/keybox-dump.c
+++ b/kbx/keybox-dump.c
@@ -388,21 +388,21 @@ _keybox_dump_blob (KEYBOXBLOB blob, FILE *fp)
         putc ('\n', fp );
       }
     if (in_range)
-      {
-        fprintf (fp, "Sig-Expire[%lu-%lu]: [not checked]\n", first, n-1);
-        in_range = 0;
-      }
+      fprintf (fp, "Sig-Expire[%lu-%lu]: [not checked]\n", first, n-1);
   }
   fprintf (fp, "Ownertrust: %d\n", p[0] );
   fprintf (fp, "All-Validity: %d\n", p[1] );
   p += 4;
-  n = get32 (p); p += 4;
+  n = get32 (p);
+  p += 4;
   fprintf (fp, "Recheck-After: %lu\n", n );
-  n = get32 (p ); p += 4;
+  n = get32 (p );
+  p += 4;
   fprintf( fp, "Latest-Timestamp: %lu\n", n );
-  n = get32 (p ); p += 4;
+  n = get32 (p );
+  p += 4;
   fprintf (fp, "Created-At: %lu\n", n );
-  n = get32 (p ); p += 4;
+  n = get32 (p );
   fprintf (fp, "Reserved-Space: %lu\n", n );
 
   if (n >= 4 && unhashed >= 24)

commit a41638acf4808caa619f4f3f4c0dcd12be00d6f8
Author: Werner Koch <wk at gnupg.org>
Date:   Wed Jan 6 16:39:04 2016 +0100

    gpg: Fix DNS cert lookup returning an URL.
    
    * g10/call-dirmngr.c (dns_cert_status_cb): Store URL status in the URL
    param.  The old code was entirely buggy (c+p error).
    --
    
    Fixes-commit: 154f3ed2
    Signed-off-by: Werner Koch <wk at gnupg.org>

diff --git a/g10/call-dirmngr.c b/g10/call-dirmngr.c
index 83af0be..b1c856d 100644
--- a/g10/call-dirmngr.c
+++ b/g10/call-dirmngr.c
@@ -1080,10 +1080,8 @@ dns_cert_status_cb (void *opaque, const char *line)
     {
       if (parm->url)
         err = gpg_error (GPG_ERR_DUP_KEY);
-      else if (!(parm->fpr = xtrymalloc (nbytes)))
+      else if (!(parm->url = xtrystrdup (s)))
         err = gpg_error_from_syserror ();
-      else
-        memcpy (parm->fpr, line, (parm->fprlen = nbytes));
     }
 
   return err;

-----------------------------------------------------------------------

Summary of changes:
 g10/armor.c        |  2 +-
 g10/call-dirmngr.c |  4 +---
 g10/card-util.c    |  1 -
 g10/getkey.c       |  7 +++----
 g10/gpg.c          |  1 -
 g10/import.c       |  2 --
 g10/keygen.c       |  9 +++------
 g10/keyid.c        |  2 +-
 g10/keyring.c      |  4 ++--
 g10/server.c       |  3 ++-
 g10/tdbio.c        | 33 +++++++++++++++++++++------------
 g10/tofu.c         |  6 ++++++
 g10/trustdb.c      |  3 ---
 kbx/keybox-dump.c  | 16 ++++++++--------
 sm/call-dirmngr.c  |  9 +++++----
 sm/certchain.c     | 14 +++++++-------
 sm/fingerprint.c   |  1 -
 sm/gpgsm.c         |  2 +-
 sm/keydb.c         |  6 +-----
 sm/server.c        |  2 +-
 20 files changed, 63 insertions(+), 64 deletions(-)


hooks/post-receive
-- 
The GNU Privacy Guard
http://git.gnupg.org




More information about the Gnupg-commits mailing list