[git] GnuPG - branch, master, updated. gnupg-2.1.15-257-g6e85ac7

by NIIBE Yutaka cvs at cvs.gnupg.org
Fri Oct 21 05:07:04 CEST 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  6e85ac77af594035137950d801d8a1bacce548a3 (commit)
      from  1ffd475f99eaff4e40950eda88702f8db9288eb5 (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 6e85ac77af594035137950d801d8a1bacce548a3
Author: NIIBE Yutaka <gniibe at fsij.org>
Date:   Fri Oct 21 12:04:46 2016 +0900

    Fix use cases of snprintf.
    
    * agent/call-pinentry.c, agent/call-scd.c, agent/command.c,
    build-aux/speedo/w32/g4wihelp.c, common/get-passphrase.c,
    dirmngr/dirmngr.c, g10/call-agent.c, g10/cpr.c, g10/keygen.c,
    g10/openfile.c, g10/passphrase.c, scd/app-openpgp.c, scd/scdaemon.c,
    sm/call-agent.c, sm/call-dirmngr.c, sm/certreqgen.c: Fix assuming C99.
    
    --
    Signed-off-by: NIIBE Yutaka <gniibe at fsij.org>

diff --git a/agent/call-pinentry.c b/agent/call-pinentry.c
index 0f24086..46db9e8 100644
--- a/agent/call-pinentry.c
+++ b/agent/call-pinentry.c
@@ -734,8 +734,7 @@ setup_qualitybar (ctrl_t ctrl)
   /* TRANSLATORS: This string is displayed by Pinentry as the label
      for the quality bar.  */
   tmpstr = try_percent_escape (L_("Quality:"), "\t\r\n\f\v");
-  snprintf (line, DIM(line)-1, "SETQUALITYBAR %s", tmpstr? tmpstr:"");
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "SETQUALITYBAR %s", tmpstr? tmpstr:"");
   xfree (tmpstr);
   rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
   if (rc == 103 /*(Old assuan error code)*/
@@ -763,8 +762,7 @@ setup_qualitybar (ctrl_t ctrl)
     }
   tmpstr = try_percent_escape (tooltip, "\t\r\n\f\v");
   xfree (tmpstr2);
-  snprintf (line, DIM(line)-1, "SETQUALITYBAR_TT %s", tmpstr? tmpstr:"");
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "SETQUALITYBAR_TT %s", tmpstr? tmpstr:"");
   xfree (tmpstr);
   rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
   if (rc == 103 /*(Old assuan error code)*/
@@ -887,27 +885,25 @@ agent_askpin (ctrl_t ctrl,
   if (keyinfo && (cache_mode == CACHE_MODE_NORMAL
                   || cache_mode == CACHE_MODE_USER
                   || cache_mode == CACHE_MODE_SSH))
-    snprintf (line, DIM(line)-1, "SETKEYINFO %c/%s",
+    snprintf (line, DIM(line), "SETKEYINFO %c/%s",
 	      cache_mode == CACHE_MODE_USER? 'u' :
 	      cache_mode == CACHE_MODE_SSH? 's' : 'n',
 	      keyinfo);
   else
-    snprintf (line, DIM(line)-1, "SETKEYINFO --clear");
+    snprintf (line, DIM(line), "SETKEYINFO --clear");
 
   rc = assuan_transact (entry_ctx, line,
 			NULL, NULL, NULL, NULL, NULL, NULL);
   if (rc && gpg_err_code (rc) != GPG_ERR_ASS_UNKNOWN_CMD)
     return unlock_pinentry (rc);
 
-  snprintf (line, DIM(line)-1, "SETDESC %s", desc_text);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "SETDESC %s", desc_text);
   rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
   if (rc)
     return unlock_pinentry (rc);
 
-  snprintf (line, DIM(line)-1, "SETPROMPT %s",
+  snprintf (line, DIM(line), "SETPROMPT %s",
             prompt_text? prompt_text : is_pin? L_("PIN:") : L_("Passphrase:"));
-  line[DIM(line)-1] = 0;
   rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
   if (rc)
     return unlock_pinentry (rc);
@@ -924,8 +920,7 @@ agent_askpin (ctrl_t ctrl,
 
   if (initial_errtext)
     {
-      snprintf (line, DIM(line)-1, "SETERROR %s", initial_errtext);
-      line[DIM(line)-1] = 0;
+      snprintf (line, DIM(line), "SETERROR %s", initial_errtext);
       rc = assuan_transact (entry_ctx, line,
                             NULL, NULL, NULL, NULL, NULL, NULL);
       if (rc)
@@ -934,9 +929,8 @@ agent_askpin (ctrl_t ctrl,
 
   if (pininfo->with_repeat)
     {
-      snprintf (line, DIM(line)-1, "SETREPEATERROR %s",
+      snprintf (line, DIM(line), "SETREPEATERROR %s",
                 L_("does not match - try again"));
-      line[DIM(line)-1] = 0;
       rc = assuan_transact (entry_ctx, line,
                             NULL, NULL, NULL, NULL, NULL, NULL);
       if (rc)
@@ -956,9 +950,8 @@ agent_askpin (ctrl_t ctrl,
           /* TRANSLATORS: The string is appended to an error message in
              the pinentry.  The %s is the actual error message, the
              two %d give the current and maximum number of tries. */
-          snprintf (line, DIM(line)-1, L_("SETERROR %s (try %d of %d)"),
+          snprintf (line, DIM(line), L_("SETERROR %s (try %d of %d)"),
                     errtext, pininfo->failed_tries+1, pininfo->max_tries);
-          line[DIM(line)-1] = 0;
           rc = assuan_transact (entry_ctx, line,
                                 NULL, NULL, NULL, NULL, NULL, NULL);
           if (rc)
@@ -968,8 +961,7 @@ agent_askpin (ctrl_t ctrl,
 
       if (pininfo->with_repeat)
         {
-          snprintf (line, DIM(line)-1, "SETREPEAT %s", L_("Repeat:"));
-          line[DIM(line)-1] = 0;
+          snprintf (line, DIM(line), "SETREPEAT %s", L_("Repeat:"));
           rc = assuan_transact (entry_ctx, line,
                                 NULL, NULL, NULL, NULL, NULL, NULL);
           if (rc)
@@ -1100,12 +1092,12 @@ agent_get_passphrase (ctrl_t ctrl,
   if (keyinfo && (cache_mode == CACHE_MODE_NORMAL
                   || cache_mode == CACHE_MODE_USER
                   || cache_mode == CACHE_MODE_SSH))
-    snprintf (line, DIM(line)-1, "SETKEYINFO %c/%s",
+    snprintf (line, DIM(line), "SETKEYINFO %c/%s",
 	      cache_mode == CACHE_MODE_USER? 'u' :
 	      cache_mode == CACHE_MODE_SSH? 's' : 'n',
 	      keyinfo);
   else
-    snprintf (line, DIM(line)-1, "SETKEYINFO --clear");
+    snprintf (line, DIM(line), "SETKEYINFO --clear");
 
   rc = assuan_transact (entry_ctx, line,
 			NULL, NULL, NULL, NULL, NULL, NULL);
@@ -1114,16 +1106,14 @@ agent_get_passphrase (ctrl_t ctrl,
 
 
   if (desc)
-    snprintf (line, DIM(line)-1, "SETDESC %s", desc);
+    snprintf (line, DIM(line), "SETDESC %s", desc);
   else
-    snprintf (line, DIM(line)-1, "RESET");
-  line[DIM(line)-1] = 0;
+    snprintf (line, DIM(line), "RESET");
   rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
   if (rc)
     return unlock_pinentry (rc);
 
-  snprintf (line, DIM(line)-1, "SETPROMPT %s", prompt);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "SETPROMPT %s", prompt);
   rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
   if (rc)
     return unlock_pinentry (rc);
@@ -1137,8 +1127,7 @@ agent_get_passphrase (ctrl_t ctrl,
 
   if (errtext)
     {
-      snprintf (line, DIM(line)-1, "SETERROR %s", errtext);
-      line[DIM(line)-1] = 0;
+      snprintf (line, DIM(line), "SETERROR %s", errtext);
       rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
       if (rc)
         return unlock_pinentry (rc);
@@ -1205,10 +1194,9 @@ agent_get_confirmation (ctrl_t ctrl,
     return rc;
 
   if (desc)
-    snprintf (line, DIM(line)-1, "SETDESC %s", desc);
+    snprintf (line, DIM(line), "SETDESC %s", desc);
   else
-    snprintf (line, DIM(line)-1, "RESET");
-  line[DIM(line)-1] = 0;
+    snprintf (line, DIM(line), "RESET");
   rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
   /* Most pinentries out in the wild return the old Assuan error code
      for canceled which gets translated to an assuan Cancel error and
@@ -1221,8 +1209,7 @@ agent_get_confirmation (ctrl_t ctrl,
 
   if (ok)
     {
-      snprintf (line, DIM(line)-1, "SETOK %s", ok);
-      line[DIM(line)-1] = 0;
+      snprintf (line, DIM(line), "SETOK %s", ok);
       rc = assuan_transact (entry_ctx,
                             line, NULL, NULL, NULL, NULL, NULL, NULL);
       if (rc)
@@ -1235,8 +1222,7 @@ agent_get_confirmation (ctrl_t ctrl,
          the standard cancel.  */
       if (with_cancel)
         {
-          snprintf (line, DIM(line)-1, "SETNOTOK %s", notok);
-          line[DIM(line)-1] = 0;
+          snprintf (line, DIM(line), "SETNOTOK %s", notok);
           rc = assuan_transact (entry_ctx,
                                 line, NULL, NULL, NULL, NULL, NULL, NULL);
         }
@@ -1245,8 +1231,7 @@ agent_get_confirmation (ctrl_t ctrl,
 
       if (gpg_err_code (rc) == GPG_ERR_ASS_UNKNOWN_CMD)
 	{
-	  snprintf (line, DIM(line)-1, "SETCANCEL %s", notok);
-	  line[DIM(line)-1] = 0;
+	  snprintf (line, DIM(line), "SETCANCEL %s", notok);
 	  rc = assuan_transact (entry_ctx, line,
                                 NULL, NULL, NULL, NULL, NULL, NULL);
 	}
@@ -1282,10 +1267,9 @@ agent_show_message (ctrl_t ctrl, const char *desc, const char *ok_btn)
     return rc;
 
   if (desc)
-    snprintf (line, DIM(line)-1, "SETDESC %s", desc);
+    snprintf (line, DIM(line), "SETDESC %s", desc);
   else
-    snprintf (line, DIM(line)-1, "RESET");
-  line[DIM(line)-1] = 0;
+    snprintf (line, DIM(line), "RESET");
   rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
   /* Most pinentries out in the wild return the old Assuan error code
      for canceled which gets translated to an assuan Cancel error and
@@ -1298,8 +1282,7 @@ agent_show_message (ctrl_t ctrl, const char *desc, const char *ok_btn)
 
   if (ok_btn)
     {
-      snprintf (line, DIM(line)-1, "SETOK %s", ok_btn);
-      line[DIM(line)-1] = 0;
+      snprintf (line, DIM(line), "SETOK %s", ok_btn);
       rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL,
                             NULL, NULL, NULL);
       if (rc)
@@ -1354,18 +1337,16 @@ agent_popup_message_start (ctrl_t ctrl, const char *desc, const char *ok_btn)
     return rc;
 
   if (desc)
-    snprintf (line, DIM(line)-1, "SETDESC %s", desc);
+    snprintf (line, DIM(line), "SETDESC %s", desc);
   else
-    snprintf (line, DIM(line)-1, "RESET");
-  line[DIM(line)-1] = 0;
+    snprintf (line, DIM(line), "RESET");
   rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
   if (rc)
     return unlock_pinentry (rc);
 
   if (ok_btn)
     {
-      snprintf (line, DIM(line)-1, "SETOK %s", ok_btn);
-      line[DIM(line)-1] = 0;
+      snprintf (line, DIM(line), "SETOK %s", ok_btn);
       rc = assuan_transact (entry_ctx, line, NULL,NULL,NULL,NULL,NULL,NULL);
       if (rc)
         return unlock_pinentry (rc);
@@ -1465,7 +1446,7 @@ agent_clear_passphrase (ctrl_t ctrl,
   if (rc)
     return rc;
 
-  snprintf (line, DIM(line)-1, "CLEARPASSPHRASE %c/%s",
+  snprintf (line, DIM(line), "CLEARPASSPHRASE %c/%s",
 	    cache_mode == CACHE_MODE_USER? 'u' :
 	    cache_mode == CACHE_MODE_SSH? 's' : 'n',
 	    keyinfo);
diff --git a/agent/call-scd.c b/agent/call-scd.c
index 934ab4c..0f7d570 100644
--- a/agent/call-scd.c
+++ b/agent/call-scd.c
@@ -946,8 +946,7 @@ agent_card_pkdecrypt (ctrl_t ctrl,
   inqparm.getpin_cb_arg = getpin_cb_arg;
   inqparm.passthru = 0;
   inqparm.any_inq_seen = 0;
-  snprintf (line, DIM(line)-1, "PKDECRYPT %s", keyid);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "PKDECRYPT %s", keyid);
   rc = assuan_transact (ctrl->scd_local->ctx, line,
                         put_membuf_cb, &data,
                         inq_needpin, &inqparm,
@@ -986,8 +985,7 @@ agent_card_readcert (ctrl_t ctrl,
     return rc;
 
   init_membuf (&data, 1024);
-  snprintf (line, DIM(line)-1, "READCERT %s", id);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "READCERT %s", id);
   rc = assuan_transact (ctrl->scd_local->ctx, line,
                         put_membuf_cb, &data,
                         NULL, NULL,
@@ -1022,8 +1020,7 @@ agent_card_readkey (ctrl_t ctrl, const char *id, unsigned char **r_buf)
     return rc;
 
   init_membuf (&data, 1024);
-  snprintf (line, DIM(line)-1, "READKEY %s", id);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "READKEY %s", id);
   rc = assuan_transact (ctrl->scd_local->ctx, line,
                         put_membuf_cb, &data,
                         NULL, NULL,
@@ -1088,8 +1085,7 @@ agent_card_writekey (ctrl_t ctrl,  int force, const char *serialno,
   if (rc)
     return rc;
 
-  snprintf (line, DIM(line)-1, "WRITEKEY %s%s", force ? "--force " : "", id);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "WRITEKEY %s%s", force ? "--force " : "", id);
   parms.ctx = ctrl->scd_local->ctx;
   parms.getpin_cb = getpin_cb;
   parms.getpin_cb_arg = getpin_cb_arg;
diff --git a/agent/command.c b/agent/command.c
index 7d8b4c46..1a13084 100644
--- a/agent/command.c
+++ b/agent/command.c
@@ -369,7 +369,7 @@ agent_inq_pinentry_launched (ctrl_t ctrl, unsigned long pid)
   if (!ctrl || !ctrl->server_local
       || !ctrl->server_local->allow_pinentry_notify)
     return 0;
-  snprintf (line, DIM(line)-1, "PINENTRY_LAUNCHED %lu", pid);
+  snprintf (line, DIM(line), "PINENTRY_LAUNCHED %lu", pid);
   return assuan_inquire (ctrl->server_local->assuan_ctx, line, NULL, NULL, 0);
 }
 
diff --git a/build-aux/speedo/w32/g4wihelp.c b/build-aux/speedo/w32/g4wihelp.c
index d2c93e7..fe903aa 100644
--- a/build-aux/speedo/w32/g4wihelp.c
+++ b/build-aux/speedo/w32/g4wihelp.c
@@ -70,12 +70,12 @@ dummy (HWND hwndParent, int string_size, char *variables,
   // do your stuff here
   {
     char buf[1024];
-    snprintf (buf, sizeof buf - 1, "$R0=%s\r\n$R1=%s\r\n",
+    snprintf (buf, sizeof buf, "$R0=%s\r\n$R1=%s\r\n",
               getuservariable(INST_R0),
               getuservariable(INST_R1));
     MessageBox (g_hwndParent,buf,0,MB_OK);
 
-    snprintf (buf, sizeof buf - 1,
+    snprintf (buf, sizeof buf,
              "autoclose    =%d\r\n"
              "all_user_var =%d\r\n"
              "exec_error   =%d\r\n"
@@ -278,7 +278,7 @@ void
 service_error (const char *str)
 {
   char buf[1024];
-  snprintf (buf, sizeof (buf) - 1, "error: %s: ec=%d\r\n", str,
+  snprintf (buf, sizeof (buf), "error: %s: ec=%d\r\n", str,
 	    GetLastError ());
   MessageBox(g_hwndParent, buf, 0, MB_OK);
 
@@ -575,7 +575,7 @@ service_stop (HWND hwndParent, int string_size, char *variables,
       if (GetTickCount () - start_time > timeout)
 	{
 	  char buf[1024];
-	  snprintf (buf, sizeof (buf) - 1,
+	  snprintf (buf, sizeof (buf),
 		    "time out waiting for service %s to stop\r\n",
 		    service_name);
 	  MessageBox (g_hwndParent, buf, 0, MB_OK);
diff --git a/common/get-passphrase.c b/common/get-passphrase.c
index 68361ec..25c1602 100644
--- a/common/get-passphrase.c
+++ b/common/get-passphrase.c
@@ -181,7 +181,7 @@ gnupg_get_passphrase (const char *cache_id,
     if (!(arg4 = percent_plus_escape (desc_msg)))
       goto no_mem;
 
-  snprintf (line, DIM(line)-1,
+  snprintf (line, DIM(line),
             "GET_PASSPHRASE --data %s--repeat=%d -- %s %s %s %s",
             check_quality? "--check ":"",
             repeat,
@@ -189,7 +189,6 @@ gnupg_get_passphrase (const char *cache_id,
             arg2? arg2:"X",
             arg3? arg3:"X",
             arg4? arg4:"X");
-  line[DIM(line)-1] = 0;
   xfree (arg2);
   xfree (arg3);
   xfree (arg4);
@@ -250,8 +249,7 @@ gnupg_clear_passphrase (const char *cache_id)
   if (err)
     return err;
 
-  snprintf (line, DIM(line)-1, "CLEAR_PASSPHRASE %s", cache_id);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "CLEAR_PASSPHRASE %s", cache_id);
   return assuan_transact (agent_ctx, line, NULL, NULL,
                           default_inq_cb, NULL, NULL, NULL);
 }
diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c
index 271360e..90eb6d4 100644
--- a/dirmngr/dirmngr.c
+++ b/dirmngr/dirmngr.c
@@ -2050,9 +2050,8 @@ handle_connections (assuan_fd_t listen_fd)
 
               memset (&argval, 0, sizeof argval);
               argval.afd = fd;
-              snprintf (threadname, sizeof threadname-1,
+              snprintf (threadname, sizeof threadname,
                         "conn fd=%d", FD2INT(fd));
-              threadname[sizeof threadname -1] = 0;
 
               ret = npth_create (&thread, &tattr,
                                  start_connection_thread, argval.aptr);
diff --git a/g10/call-agent.c b/g10/call-agent.c
index 632cabe..c1ad8dd 100644
--- a/g10/call-agent.c
+++ b/g10/call-agent.c
@@ -726,7 +726,7 @@ agent_scd_apdu (const char *hexapdu, unsigned int *r_sw)
 
       init_membuf (&mb, 256);
 
-      snprintf (line, DIM(line)-1, "SCD APDU %s", hexapdu);
+      snprintf (line, DIM(line), "SCD APDU %s", hexapdu);
       err = assuan_transact (agent_ctx, line,
                              put_membuf_cb, &mb, NULL, NULL, NULL, NULL);
       if (!err)
@@ -758,9 +758,8 @@ agent_keytocard (const char *hexgrip, int keyno, int force,
 
   memset (&parm, 0, sizeof parm);
 
-  snprintf (line, DIM(line)-1, "KEYTOCARD %s%s %s OPENPGP.%d %s",
+  snprintf (line, DIM(line), "KEYTOCARD %s%s %s OPENPGP.%d %s",
             force?"--force ": "", hexgrip, serialno, keyno, timestamp);
-  line[DIM(line)-1] = 0;
 
   rc = start_agent (NULL, 1);
   if (rc)
@@ -902,8 +901,7 @@ agent_scd_writecert (const char *certidstr,
 
   memset (&parms, 0, sizeof parms);
 
-  snprintf (line, DIM(line)-1, "SCD WRITECERT %s", certidstr);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "SCD WRITECERT %s", certidstr);
   dfltparm.ctx = agent_ctx;
   parms.dflt = &dfltparm;
   parms.certdata = certdata;
@@ -956,8 +954,7 @@ agent_scd_writekey (int keyno, const char *serialno,
 
   memset (&parms, 0, sizeof parms);
 
-  snprintf (line, DIM(line)-1, "SCD WRITEKEY --force OPENPGP.%d", keyno);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "SCD WRITEKEY --force OPENPGP.%d", keyno);
   dfltparm.ctx = agent_ctx;
   parms.dflt = &dfltparm;
   parms.keydata = keydata;
@@ -1019,11 +1016,10 @@ agent_scd_genkey (int keyno, int force, u32 *createtime)
   else
     *tbuf = 0;
 
-  snprintf (line, DIM(line)-1, "SCD GENKEY %s%s %s %d",
+  snprintf (line, DIM(line), "SCD GENKEY %s%s %s %d",
             *tbuf? "--timestamp=":"", tbuf,
             force? "--force":"",
             keyno);
-  line[DIM(line)-1] = 0;
 
   dfltparm.ctx = agent_ctx;
   rc = assuan_transact (agent_ctx, line,
@@ -1151,8 +1147,7 @@ agent_scd_readcert (const char *certidstr,
 
   init_membuf (&data, 2048);
 
-  snprintf (line, DIM(line)-1, "SCD READCERT %s", certidstr);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "SCD READCERT %s", certidstr);
   rc = assuan_transact (agent_ctx, line,
                         put_membuf_cb, &data,
                         default_inq_cb, &dfltparm,
@@ -1202,8 +1197,7 @@ agent_scd_change_pin (int chvno, const char *serialno)
     return rc;
   dfltparm.ctx = agent_ctx;
 
-  snprintf (line, DIM(line)-1, "SCD PASSWD %s %d", reset, chvno);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "SCD PASSWD %s %d", reset, chvno);
   rc = assuan_transact (agent_ctx, line,
                         NULL, NULL,
                         default_inq_cb, &dfltparm,
@@ -1230,8 +1224,7 @@ agent_scd_checkpin  (const char *serialno)
     return rc;
   dfltparm.ctx = agent_ctx;
 
-  snprintf (line, DIM(line)-1, "SCD CHECKPIN %s", serialno);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "SCD CHECKPIN %s", serialno);
   rc = assuan_transact (agent_ctx, line,
                         NULL, NULL,
                         default_inq_cb, &dfltparm,
@@ -1301,7 +1294,7 @@ agent_get_passphrase (const char *cache_id,
     if (!(arg4 = percent_plus_escape (desc_msg)))
       goto no_mem;
 
-  snprintf (line, DIM(line)-1,
+  snprintf (line, DIM(line),
             "GET_PASSPHRASE --data --repeat=%d%s -- %s %s %s %s",
             repeat,
             check? " --check --qualitybar":"",
@@ -1309,7 +1302,6 @@ agent_get_passphrase (const char *cache_id,
             arg2? arg2:"X",
             arg3? arg3:"X",
             arg4? arg4:"X");
-  line[DIM(line)-1] = 0;
   xfree (arg1);
   xfree (arg2);
   xfree (arg3);
@@ -1358,8 +1350,7 @@ agent_clear_passphrase (const char *cache_id)
     return rc;
   dfltparm.ctx = agent_ctx;
 
-  snprintf (line, DIM(line)-1, "CLEAR_PASSPHRASE %s", cache_id);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "CLEAR_PASSPHRASE %s", cache_id);
   return assuan_transact (agent_ctx, line,
                           NULL, NULL,
                           default_inq_cb, &dfltparm,
@@ -1387,8 +1378,7 @@ gpg_agent_get_confirmation (const char *desc)
   tmp = percent_plus_escape (desc);
   if (!tmp)
     return gpg_error_from_syserror ();
-  snprintf (line, DIM(line)-1, "GET_CONFIRMATION %s", tmp);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "GET_CONFIRMATION %s", tmp);
   xfree (tmp);
 
   rc = assuan_transact (agent_ctx, line,
@@ -1574,8 +1564,7 @@ agent_get_keyinfo (ctrl_t ctrl, const char *hexkeygrip,
   if (!hexkeygrip || strlen (hexkeygrip) != 40)
     return gpg_error (GPG_ERR_INV_VALUE);
 
-  snprintf (line, DIM(line)-1, "KEYINFO %s", hexkeygrip);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "KEYINFO %s", hexkeygrip);
 
   err = assuan_transact (agent_ctx, line, NULL, NULL, NULL, NULL,
                          keyinfo_status_cb, &keyinfo);
@@ -1761,7 +1750,7 @@ agent_readkey (ctrl_t ctrl, int fromcard, const char *hexkeygrip,
   if (err)
     return err;
 
-  snprintf (line, DIM(line)-1, "READKEY %s%s", fromcard? "--card ":"",
+  snprintf (line, DIM(line), "READKEY %s%s", fromcard? "--card ":"",
             hexkeygrip);
 
   init_membuf (&data, 1024);
@@ -1826,16 +1815,14 @@ agent_pksign (ctrl_t ctrl, const char *cache_nonce,
   if (err)
     return err;
 
-  snprintf (line, DIM(line)-1, "SIGKEY %s", keygrip);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "SIGKEY %s", keygrip);
   err = assuan_transact (agent_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
   if (err)
     return err;
 
   if (desc)
     {
-      snprintf (line, DIM(line)-1, "SETKEYDESC %s", desc);
-      line[DIM(line)-1] = 0;
+      snprintf (line, DIM(line), "SETKEYDESC %s", desc);
       err = assuan_transact (agent_ctx, line,
                             NULL, NULL, NULL, NULL, NULL, NULL);
       if (err)
@@ -1966,8 +1953,7 @@ agent_pkdecrypt (ctrl_t ctrl, const char *keygrip, const char *desc,
 
   if (desc)
     {
-      snprintf (line, DIM(line)-1, "SETKEYDESC %s", desc);
-      line[DIM(line)-1] = 0;
+      snprintf (line, DIM(line), "SETKEYDESC %s", desc);
       err = assuan_transact (agent_ctx, line,
                             NULL, NULL, NULL, NULL, NULL, NULL);
       if (err)
@@ -2059,7 +2045,7 @@ agent_keywrap_key (ctrl_t ctrl, int forexport, void **r_kek, size_t *r_keklen)
     return err;
   dfltparm.ctx = agent_ctx;
 
-  snprintf (line, DIM(line)-1, "KEYWRAP_KEY %s",
+  snprintf (line, DIM(line), "KEYWRAP_KEY %s",
             forexport? "--export":"--import");
 
   init_membuf_secure (&data, 64);
@@ -2121,8 +2107,7 @@ agent_import_key (ctrl_t ctrl, const char *desc, char **cache_nonce_addr,
 
   if (desc)
     {
-      snprintf (line, DIM(line)-1, "SETKEYDESC %s", desc);
-      line[DIM(line)-1] = 0;
+      snprintf (line, DIM(line), "SETKEYDESC %s", desc);
       err = assuan_transact (agent_ctx, line,
                             NULL, NULL, NULL, NULL, NULL, NULL);
       if (err)
@@ -2182,14 +2167,14 @@ agent_export_key (ctrl_t ctrl, const char *hexkeygrip, const char *desc,
 
   if (desc)
     {
-      snprintf (line, DIM(line)-1, "SETKEYDESC %s", desc);
+      snprintf (line, DIM(line), "SETKEYDESC %s", desc);
       err = assuan_transact (agent_ctx, line,
                              NULL, NULL, NULL, NULL, NULL, NULL);
       if (err)
         return err;
     }
 
-  snprintf (line, DIM(line)-1, "EXPORT_KEY %s%s%s %s",
+  snprintf (line, DIM(line), "EXPORT_KEY %s%s%s %s",
             openpgp_protected ? "--openpgp ":"",
             cache_nonce_addr && *cache_nonce_addr? "--cache-nonce=":"",
             cache_nonce_addr && *cache_nonce_addr? *cache_nonce_addr:"",
@@ -2241,14 +2226,14 @@ agent_delete_key (ctrl_t ctrl, const char *hexkeygrip, const char *desc,
 
   if (desc)
     {
-      snprintf (line, DIM(line)-1, "SETKEYDESC %s", desc);
+      snprintf (line, DIM(line), "SETKEYDESC %s", desc);
       err = assuan_transact (agent_ctx, line,
                              NULL, NULL, NULL, NULL, NULL, NULL);
       if (err)
         return err;
     }
 
-  snprintf (line, DIM(line)-1, "DELETE_KEY%s %s",
+  snprintf (line, DIM(line), "DELETE_KEY%s %s",
             force? " --force":"", hexkeygrip);
   err = assuan_transact (agent_ctx, line, NULL, NULL,
                          default_inq_cb, &dfltparm,
@@ -2287,7 +2272,7 @@ agent_passwd (ctrl_t ctrl, const char *hexkeygrip, const char *desc, int verify,
 
   if (desc)
     {
-      snprintf (line, DIM(line)-1, "SETKEYDESC %s", desc);
+      snprintf (line, DIM(line), "SETKEYDESC %s", desc);
       err = assuan_transact (agent_ctx, line,
                              NULL, NULL, NULL, NULL, NULL, NULL);
       if (err)
@@ -2295,12 +2280,12 @@ agent_passwd (ctrl_t ctrl, const char *hexkeygrip, const char *desc, int verify,
     }
 
   if (verify)
-    snprintf (line, DIM(line)-1, "PASSWD %s%s --verify %s",
+    snprintf (line, DIM(line), "PASSWD %s%s --verify %s",
               cache_nonce_addr && *cache_nonce_addr? "--cache-nonce=":"",
               cache_nonce_addr && *cache_nonce_addr? *cache_nonce_addr:"",
               hexkeygrip);
   else
-    snprintf (line, DIM(line)-1, "PASSWD %s%s %s%s %s",
+    snprintf (line, DIM(line), "PASSWD %s%s %s%s %s",
               cache_nonce_addr && *cache_nonce_addr? "--cache-nonce=":"",
               cache_nonce_addr && *cache_nonce_addr? *cache_nonce_addr:"",
               passwd_nonce_addr && *passwd_nonce_addr? "--passwd-nonce=":"",
diff --git a/g10/cpr.c b/g10/cpr.c
index 80af2c0..9961f92 100644
--- a/g10/cpr.c
+++ b/g10/cpr.c
@@ -53,9 +53,9 @@ progress_cb (void *ctx, const char *what, int printchar,
   (void)ctx;
 
   if ( printchar == '\n' && !strcmp (what, "primegen") )
-    snprintf (buf, sizeof buf -1, "%.20s X 100 100", what );
+    snprintf (buf, sizeof buf, "%.20s X 100 100", what );
   else
-    snprintf (buf, sizeof buf -1, "%.20s %c %d %d",
+    snprintf (buf, sizeof buf, "%.20s %c %d %d",
               what, printchar=='\n'?'X':printchar, current, total );
   write_status_text (STATUS_PROGRESS, buf);
 }
@@ -356,7 +356,7 @@ write_status_begin_signing (gcry_md_hd_t md)
           ga = map_md_openpgp_to_gcry (i);
           if (ga && gcry_md_is_enabled (md, ga) && buflen+10 < DIM(buf))
             {
-              snprintf (buf+buflen, DIM(buf) - buflen - 1,
+              snprintf (buf+buflen, DIM(buf) - buflen,
                         "%sH%d", buflen? " ":"",i);
               buflen += strlen (buf+buflen);
             }
diff --git a/g10/keygen.c b/g10/keygen.c
index 2115b5a..5ff89f6 100644
--- a/g10/keygen.c
+++ b/g10/keygen.c
@@ -4877,7 +4877,6 @@ gen_card_key (int algo, int keyno, int is_primary, kbnode_t pub_root,
   gcry_sexp_t s_key;
 
   snprintf (keyid, DIM(keyid), "OPENPGP.%d", keyno);
-  keyid[DIM(keyid)-1] = 0;
 
   if (algo != PUBKEY_ALGO_RSA)
     return gpg_error (GPG_ERR_PUBKEY_ALGO);
diff --git a/g10/openfile.c b/g10/openfile.c
index 006ff35..ad25604 100644
--- a/g10/openfile.c
+++ b/g10/openfile.c
@@ -148,9 +148,9 @@ ask_outfile_name( const char *name, size_t namelen )
   n = strlen(s) + (defname?strlen (defname):0) + 10;
   prompt = xmalloc (n);
   if (defname)
-    snprintf (prompt, n-1, "%s [%s]: ", s, defname );
+    snprintf (prompt, n, "%s [%s]: ", s, defname );
   else
-    snprintf (prompt, n-1, "%s: ", s );
+    snprintf (prompt, n, "%s: ", s );
   tty_enable_completion(NULL);
   fname = cpr_get ("openfile.askoutname", prompt );
   cpr_kill_prompt ();
diff --git a/g10/passphrase.c b/g10/passphrase.c
index be71b68..d75d980 100644
--- a/g10/passphrase.c
+++ b/g10/passphrase.c
@@ -347,7 +347,7 @@ passphrase_to_dek (int cipher_algo, STRING2KEY *s2k,
     {
       char buf[50];
 
-      snprintf (buf, sizeof buf -1, "%d %d %d",
+      snprintf (buf, sizeof buf, "%d %d %d",
                 cipher_algo, s2k->mode, s2k->hash_algo );
       write_status_text ( STATUS_NEED_PASSPHRASE_SYM, buf );
     }
@@ -447,7 +447,7 @@ emit_status_need_passphrase (u32 *keyid, u32 *mainkeyid, int pubkey_algo)
   write_status_text (STATUS_USERID_HINT, us);
   xfree (us);
 
-  snprintf (buf, sizeof buf -1, "%08lX%08lX %08lX%08lX %d 0",
+  snprintf (buf, sizeof buf, "%08lX%08lX %08lX%08lX %d 0",
             (ulong)keyid[0],
             (ulong)keyid[1],
             (ulong)(mainkeyid? mainkeyid[0]:keyid[0]),
diff --git a/scd/app-openpgp.c b/scd/app-openpgp.c
index 843fdf0..0931095 100644
--- a/scd/app-openpgp.c
+++ b/scd/app-openpgp.c
@@ -1872,7 +1872,7 @@ verify_a_chv (app_t app,
       prompt_buffer = xtrymalloc (promptsize);
       if (!prompt_buffer)
         return gpg_error_from_syserror ();
-      snprintf (prompt_buffer, promptsize-1, PROMPTSTRING, sigcount);
+      snprintf (prompt_buffer, promptsize, PROMPTSTRING, sigcount);
       prompt = prompt_buffer;
 #undef PROMPTSTRING
     }
diff --git a/scd/scdaemon.c b/scd/scdaemon.c
index df1abe8..ab2fadb 100644
--- a/scd/scdaemon.c
+++ b/scd/scdaemon.c
@@ -1292,8 +1292,7 @@ handle_connections (int listen_fd)
               char threadname[50];
 	      npth_t thread;
 
-              snprintf (threadname, sizeof threadname-1, "conn fd=%d", fd);
-              threadname[sizeof threadname -1] = 0;
+              snprintf (threadname, sizeof threadname, "conn fd=%d", fd);
               ctrl->thread_startup.fd = INT2FD (fd);
               ret = npth_create (&thread, &tattr, start_connection_thread, ctrl);
 	      if (ret)
diff --git a/sm/call-agent.c b/sm/call-agent.c
index 3262650..c0a2081 100644
--- a/sm/call-agent.c
+++ b/sm/call-agent.c
@@ -243,16 +243,14 @@ gpgsm_agent_pksign (ctrl_t ctrl, const char *keygrip, const char *desc,
   if (rc)
     return rc;
 
-  snprintf (line, DIM(line)-1, "SIGKEY %s", keygrip);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "SIGKEY %s", keygrip);
   rc = assuan_transact (agent_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
   if (rc)
     return rc;
 
   if (desc)
     {
-      snprintf (line, DIM(line)-1, "SETKEYDESC %s", desc);
-      line[DIM(line)-1] = 0;
+      snprintf (line, DIM(line), "SETKEYDESC %s", desc);
       rc = assuan_transact (agent_ctx, line,
                             NULL, NULL, NULL, NULL, NULL, NULL);
       if (rc)
@@ -335,8 +333,7 @@ gpgsm_scd_pksign (ctrl_t ctrl, const char *keyid, const char *desc,
 
   init_membuf (&data, 1024);
 
-  snprintf (line, DIM(line)-1, "SCD PKSIGN %s %s", hashopt, keyid);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "SCD PKSIGN %s %s", hashopt, keyid);
   rc = assuan_transact (agent_ctx, line,
                         put_membuf_cb, &data, default_inq_cb, &inq_parm,
                         NULL, NULL);
@@ -429,16 +426,14 @@ gpgsm_agent_pkdecrypt (ctrl_t ctrl, const char *keygrip, const char *desc,
     return rc;
 
   assert ( DIM(line) >= 50 );
-  snprintf (line, DIM(line)-1, "SETKEY %s", keygrip);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "SETKEY %s", keygrip);
   rc = assuan_transact (agent_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
   if (rc)
     return rc;
 
   if (desc)
     {
-      snprintf (line, DIM(line)-1, "SETKEYDESC %s", desc);
-      line[DIM(line)-1] = 0;
+      snprintf (line, DIM(line), "SETKEYDESC %s", desc);
       rc = assuan_transact (agent_ctx, line,
                             NULL, NULL, NULL, NULL, NULL, NULL);
       if (rc)
@@ -594,9 +589,8 @@ gpgsm_agent_readkey (ctrl_t ctrl, int fromcard, const char *hexkeygrip,
   if (rc)
     return rc;
 
-  snprintf (line, DIM(line)-1, "%sREADKEY %s",
+  snprintf (line, DIM(line), "%sREADKEY %s",
             fromcard? "SCD ":"", hexkeygrip);
-  line[DIM(line)-1] = 0;
 
   init_membuf (&data, 1024);
   rc = assuan_transact (agent_ctx, line,
@@ -810,8 +804,7 @@ gpgsm_agent_istrusted (ctrl_t ctrl, ksba_cert_t cert, const char *hexfpr,
 
   if (hexfpr)
     {
-      snprintf (line, DIM(line)-1, "ISTRUSTED %s", hexfpr);
-      line[DIM(line)-1] = 0;
+      snprintf (line, DIM(line), "ISTRUSTED %s", hexfpr);
     }
   else
     {
@@ -824,8 +817,7 @@ gpgsm_agent_istrusted (ctrl_t ctrl, ksba_cert_t cert, const char *hexfpr,
           return gpg_error (GPG_ERR_GENERAL);
         }
 
-      snprintf (line, DIM(line)-1, "ISTRUSTED %s", fpr);
-      line[DIM(line)-1] = 0;
+      snprintf (line, DIM(line), "ISTRUSTED %s", fpr);
       xfree (fpr);
     }
 
@@ -868,8 +860,7 @@ gpgsm_agent_marktrusted (ctrl_t ctrl, ksba_cert_t cert)
   xfree (dn);
   if (!dnfmt)
     return gpg_error_from_syserror ();
-  snprintf (line, DIM(line)-1, "MARKTRUSTED %s S %s", fpr, dnfmt);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "MARKTRUSTED %s S %s", fpr, dnfmt);
   ksba_free (dnfmt);
   xfree (fpr);
 
@@ -895,8 +886,7 @@ gpgsm_agent_havekey (ctrl_t ctrl, const char *hexkeygrip)
   if (!hexkeygrip || strlen (hexkeygrip) != 40)
     return gpg_error (GPG_ERR_INV_VALUE);
 
-  snprintf (line, DIM(line)-1, "HAVEKEY %s", hexkeygrip);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "HAVEKEY %s", hexkeygrip);
 
   rc = assuan_transact (agent_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
   return rc;
@@ -1045,16 +1035,14 @@ gpgsm_agent_passwd (ctrl_t ctrl, const char *hexkeygrip, const char *desc)
 
   if (desc)
     {
-      snprintf (line, DIM(line)-1, "SETKEYDESC %s", desc);
-      line[DIM(line)-1] = 0;
+      snprintf (line, DIM(line), "SETKEYDESC %s", desc);
       rc = assuan_transact (agent_ctx, line,
                             NULL, NULL, NULL, NULL, NULL, NULL);
       if (rc)
         return rc;
     }
 
-  snprintf (line, DIM(line)-1, "PASSWD %s", hexkeygrip);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "PASSWD %s", hexkeygrip);
 
   rc = assuan_transact (agent_ctx, line, NULL, NULL,
                         default_inq_cb, &inq_parm, NULL, NULL);
@@ -1078,8 +1066,7 @@ gpgsm_agent_get_confirmation (ctrl_t ctrl, const char *desc)
   inq_parm.ctrl = ctrl;
   inq_parm.ctx = agent_ctx;
 
-  snprintf (line, DIM(line)-1, "GET_CONFIRMATION %s", desc);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "GET_CONFIRMATION %s", desc);
 
   rc = assuan_transact (agent_ctx, line, NULL, NULL,
                         default_inq_cb, &inq_parm, NULL, NULL);
@@ -1150,8 +1137,7 @@ gpgsm_agent_keyinfo (ctrl_t ctrl, const char *hexkeygrip, char **r_serialno)
   if (!hexkeygrip || strlen (hexkeygrip) != 40)
     return gpg_error (GPG_ERR_INV_VALUE);
 
-  snprintf (line, DIM(line)-1, "KEYINFO %s", hexkeygrip);
-  line[DIM(line)-1] = 0;
+  snprintf (line, DIM(line), "KEYINFO %s", hexkeygrip);
 
   err = assuan_transact (agent_ctx, line, NULL, NULL, NULL, NULL,
                          keyinfo_status_cb, &serialno);
@@ -1196,7 +1182,7 @@ gpgsm_agent_ask_passphrase (ctrl_t ctrl, const char *desc_msg, int repeat,
   if (desc_msg && *desc_msg && !(arg4 = percent_plus_escape (desc_msg)))
     return gpg_error_from_syserror ();
 
-  snprintf (line, DIM(line)-1, "GET_PASSPHRASE --data%s -- X X X %s",
+  snprintf (line, DIM(line), "GET_PASSPHRASE --data%s -- X X X %s",
             repeat? " --repeat=1 --check --qualitybar":"",
             arg4);
   xfree (arg4);
@@ -1241,7 +1227,7 @@ gpgsm_agent_keywrap_key (ctrl_t ctrl, int forexport,
   inq_parm.ctrl = ctrl;
   inq_parm.ctx = agent_ctx;
 
-  snprintf (line, DIM(line)-1, "KEYWRAP_KEY %s",
+  snprintf (line, DIM(line), "KEYWRAP_KEY %s",
             forexport? "--export":"--import");
 
   init_membuf_secure (&data, 64);
@@ -1335,14 +1321,14 @@ gpgsm_agent_export_key (ctrl_t ctrl, const char *keygrip, const char *desc,
 
   if (desc)
     {
-      snprintf (line, DIM(line)-1, "SETKEYDESC %s", desc);
+      snprintf (line, DIM(line), "SETKEYDESC %s", desc);
       err = assuan_transact (agent_ctx, line,
                              NULL, NULL, NULL, NULL, NULL, NULL);
       if (err)
         return err;
     }
 
-  snprintf (line, DIM(line)-1, "EXPORT_KEY %s", keygrip);
+  snprintf (line, DIM(line), "EXPORT_KEY %s", keygrip);
 
   init_membuf_secure (&data, 1024);
   err = assuan_transact (agent_ctx, line,
diff --git a/sm/call-dirmngr.c b/sm/call-dirmngr.c
index f561bb0..03c9a68 100644
--- a/sm/call-dirmngr.c
+++ b/sm/call-dirmngr.c
@@ -215,9 +215,8 @@ prepare_dirmngr (ctrl_t ctrl, assuan_context_t ctx, gpg_error_t err)
       char *pass = server->pass ? server->pass : "";
       char *base = server->base ? server->base : "";
 
-      snprintf (line, DIM (line) - 1, "LDAPSERVER %s:%i:%s:%s:%s",
+      snprintf (line, DIM (line), "LDAPSERVER %s:%i:%s:%s:%s",
 		server->host, server->port, user, pass, base);
-      line[DIM (line) - 1] = 0;
 
       assuan_transact (ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
       /* The code below is not required because we don't return an error.  */
@@ -548,10 +547,9 @@ gpgsm_dirmngr_isvalid (ctrl_t ctrl,
                          NULL, NULL, NULL, NULL, NULL, NULL);
       did_options = 1;
     }
-  snprintf (line, DIM(line)-1, "ISVALID%s %s",
+  snprintf (line, DIM(line), "ISVALID%s %s",
             use_ocsp == 2? " --only-ocsp --force-default-responder":"",
             certid);
-  line[DIM(line)-1] = 0;
   xfree (certid);
 
   rc = assuan_transact (dirmngr_ctx, line, NULL, NULL,
@@ -803,9 +801,8 @@ gpgsm_dirmngr_lookup (ctrl_t ctrl, strlist_t names, int cache_only,
 
       return out_of_core ();
     }
-  snprintf (line, DIM(line)-1, "LOOKUP%s %s",
+  snprintf (line, DIM(line), "LOOKUP%s %s",
             cache_only? " --cache-only":"", pattern);
-  line[DIM(line)-1] = 0;
   xfree (pattern);
 
   parm.ctrl = ctrl;
@@ -861,7 +858,7 @@ get_cached_cert (assuan_context_t ctx,
   *r_cert = NULL;
 
   bin2hex (fpr, 20, hexfpr);
-  snprintf (line, DIM(line)-1, "LOOKUP --single --cache-only 0x%s", hexfpr);
+  snprintf (line, DIM(line), "LOOKUP --single --cache-only 0x%s", hexfpr);
 
   init_membuf (&mb, 4096);
   err = assuan_transact (ctx, line, get_cached_cert_data_cb, &mb,
diff --git a/sm/certreqgen.c b/sm/certreqgen.c
index 2c6550c..4d50270 100644
--- a/sm/certreqgen.c
+++ b/sm/certreqgen.c
@@ -719,7 +719,7 @@ proc_parameters (ctrl_t ctrl, struct para_data_s *para,
   else if (!outctrl->dryrun) /* Generate new key.  */
     {
       sprintf (numbuf, "%u", nbits);
-      snprintf ((char*)keyparms, DIM (keyparms)-1,
+      snprintf ((char*)keyparms, DIM (keyparms),
                 "(6:genkey(3:rsa(5:nbits%d:%s)))",
                 (int)strlen (numbuf), numbuf);
       rc = gpgsm_agent_genkey (ctrl, keyparms, &public);

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

Summary of changes:
 agent/call-pinentry.c           | 75 +++++++++++++++--------------------------
 agent/call-scd.c                | 12 +++----
 agent/command.c                 |  2 +-
 build-aux/speedo/w32/g4wihelp.c |  8 ++---
 common/get-passphrase.c         |  6 ++--
 dirmngr/dirmngr.c               |  3 +-
 g10/call-agent.c                | 65 ++++++++++++++---------------------
 g10/cpr.c                       |  6 ++--
 g10/keygen.c                    |  1 -
 g10/openfile.c                  |  4 +--
 g10/passphrase.c                |  4 +--
 scd/app-openpgp.c               |  2 +-
 scd/scdaemon.c                  |  3 +-
 sm/call-agent.c                 | 50 ++++++++++-----------------
 sm/call-dirmngr.c               | 11 +++---
 sm/certreqgen.c                 |  2 +-
 16 files changed, 97 insertions(+), 157 deletions(-)


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




More information about the Gnupg-commits mailing list