[Pkg-gnupg-commit] [gnupg2] 56/166: gpg: Don't assume that strtoul interprets "" as 0.

Daniel Kahn Gillmor dkg at fifthhorseman.net
Thu Mar 16 22:33:05 UTC 2017


This is an automated email from the git hooks/post-receive script.

dkg pushed a commit to branch experimental
in repository gnupg2.

commit 407f5f9baea5591f148974240a87dfb43e5efef3
Author: Neal H. Walfield <neal at g10code.com>
Date:   Thu Feb 2 15:48:45 2017 +0100

    gpg: Don't assume that strtoul interprets "" as 0.
    
    * g10/tofu.c (show_statistics): If there are not records, return 0
    instead of NULL.
    
    --
    Signed-off-by: Neal H. Walfield <neal at g10code.com>
    GnuPG-bug-id: 2853
    
    According to SUSv3:
    
      If the subject sequence is empty or does not have the expected form,
      no conversion is performed
      ...
      If no conversion could be performed, 0 is returned and errno may be
      set to [EINVAL].
    
      http://pubs.opengroup.org/onlinepubs/007908799/xsh/strtol.html
    
    It appears that MacOS X sets errno to EINVAL, but glibc doesn't.
    Hence, we map NULL to 0 explicitly.
---
 g10/tofu.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/g10/tofu.c b/g10/tofu.c
index 85347bb..449e921 100644
--- a/g10/tofu.c
+++ b/g10/tofu.c
@@ -2983,7 +2983,8 @@ show_statistics (tofu_dbs_t dbs,
   /* Get the signature stats.  */
   rc = gpgsql_exec_printf
     (dbs->db, strings_collect_cb, &strlist, &err,
-     "select count (*), min (signatures.time), max (signatures.time)\n"
+     "select count (*), coalesce (min (signatures.time), 0),\n"
+     "  coalesce (max (signatures.time), 0)\n"
      " from signatures\n"
      " left join bindings on signatures.binding = bindings.oid\n"
      " where fingerprint = %Q and email = %Q;",
@@ -3036,7 +3037,8 @@ show_statistics (tofu_dbs_t dbs,
   /* Get the encryption stats.  */
   rc = gpgsql_exec_printf
     (dbs->db, strings_collect_cb, &strlist, &err,
-     "select count (*), min (encryptions.time), max (encryptions.time)\n"
+     "select count (*), coalesce (min (encryptions.time), 0),\n"
+     "  coalesce (max (encryptions.time), 0)\n"
      " from encryptions\n"
      " left join bindings on encryptions.binding = bindings.oid\n"
      " where fingerprint = %Q and email = %Q;",

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gnupg2.git



More information about the Pkg-gnupg-commit mailing list