소스 검색

Work around a false positive in Coverity.

Fixes cid 501 and 502.
Sebastian Hahn 14 년 전
부모
커밋
95af91565b
1개의 변경된 파일5개의 추가작업 그리고 2개의 파일을 삭제
  1. 5 2
      src/common/crypto.c

+ 5 - 2
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) {