summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Josefsson <simon@josefsson.org>2009-05-13 15:20:44 +0200
committerSimon Josefsson <simon@josefsson.org>2009-05-13 15:20:44 +0200
commite150f6c1d6d16ccd10396994e124c83b42540111 (patch)
tree319623c7a20264952ac5b3fbaf85e48fee48d90f
parentbfba30be9bbde48211452a1362e4ad73a3fd57ab (diff)
downloadgnutls-e150f6c1d6d16ccd10396994e124c83b42540111.tar.gz
Avoid sprintf.
-rw-r--r--lib/opencdk/keydb.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/opencdk/keydb.c b/lib/opencdk/keydb.c
index 651a205bb0..a0aed60315 100644
--- a/lib/opencdk/keydb.c
+++ b/lib/opencdk/keydb.c
@@ -1,5 +1,5 @@
/* keydb.c - Key database routines
- * Copyright (C) 2002, 2003, 2007, 2008 Free Software Foundation, Inc.
+ * Copyright (C) 2002, 2003, 2007, 2008, 2009 Free Software Foundation, Inc.
*
* Author: Timo Schulz
*
@@ -48,13 +48,15 @@ static cdk_kbnode_t find_selfsig_node (cdk_kbnode_t key, cdk_pkt_pubkey_t pk);
static char *
keydb_idx_mkname (const char *file)
{
- char *fname, *fmt;
+ static const char *fmt = "%s.idx";
+ char *fname;
+ size_t len = strlen (file) + strlen (fmt);
- fmt = "%s.idx";
- fname = cdk_calloc (1, strlen (file) + strlen (fmt) + 1);
+ fname = cdk_calloc (1, len + 1);
if (!fname)
return NULL;
- sprintf (fname, fmt, file);
+ if (snprintf (fname, len, fmt, file) <= 0)
+ return NULL;
return fname;
}