summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Hahn <sebastian@torproject.org>2011-12-02 06:15:31 +0100
committerSebastian Hahn <sebastian@torproject.org>2011-12-02 06:16:57 +0100
commit95af91565bd846be0b199fbc02d7197bf771e867 (patch)
treeea03ab1f23d4c3a3cce7bac1e8d6668d6196b92e
parentc811b8f3a0a3ec2a071983d6952350f521c8b28d (diff)
downloadtor-95af91565bd846be0b199fbc02d7197bf771e867.tar.gz
tor-95af91565bd846be0b199fbc02d7197bf771e867.zip
Work around a false positive in Coverity.
Fixes cid 501 and 502.
-rw-r--r--src/common/crypto.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/common/crypto.c b/src/common/crypto.c
index 62b0bcec6c..2aa3fc97a5 100644
--- a/src/common/crypto.c
+++ b/src/common/crypto.c
@@ -1912,9 +1912,12 @@ crypto_get_stored_dynamic_dh_modulus(const char *fname)
}
/* 'fname' contains the DH parameters stored in base64-ed DER
- format. We are only interested in the DH modulus. */
+ * format. We are only interested in the DH modulus.
+ * NOTE: We allocate more storage here than we need. Since we're already
+ * doing that, we can also add 1 byte extra to appease Coverity's
+ * scanner. */
- cp = base64_decoded_dh = tor_malloc_zero(strlen(contents));
+ cp = base64_decoded_dh = tor_malloc_zero(strlen(contents) + 1);
length = base64_decode((char *)base64_decoded_dh, strlen(contents),
contents, strlen(contents));
if (length < 0) {