summaryrefslogtreecommitdiffstats
path: root/ssl
diff options
context:
space:
mode:
authorPatrick Steuer <patrick.steuer@de.ibm.com>2020-08-11 13:51:04 +0200
committerPatrick Steuer <patrick.steuer@de.ibm.com>2020-08-13 21:32:29 +0200
commitc19e6da9a345b1e14caca23c50a0c7690309e0e4 (patch)
tree7aeb877117e3b0ae8419f62b097f6ef50fd03f9b /ssl
parentcddbcf0d2887388d95d5b338b249ac3923be00f1 (diff)
Appease -Werror=stringop-overflow=
gcc 10 seems to think of assigning to an (unsigned) char array as a stringop and demands additional space for a terminating '\0': In function 'ssl3_generate_key_block', inlined from 'ssl3_setup_key_block' at ssl/s3_enc.c:304:11: ssl/s3_enc.c:51:20: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=] 51 | buf[j] = c; | ~~~~~~~^~~ ssl/s3_enc.c: In function 'ssl3_setup_key_block': ssl/s3_enc.c:23:19: note: at offset 16 to object 'buf' with size 16 declared here 23 | unsigned char buf[16], smd[SHA_DIGEST_LENGTH]; | ^~~ Signed-off-by: Patrick Steuer <patrick.steuer@de.ibm.com> Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/12632)
Diffstat (limited to 'ssl')
-rw-r--r--ssl/s3_enc.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/ssl/s3_enc.c b/ssl/s3_enc.c
index 36b7c7616e..bd668f317e 100644
--- a/ssl/s3_enc.c
+++ b/ssl/s3_enc.c
@@ -22,7 +22,7 @@ static int ssl3_generate_key_block(SSL *s, unsigned char *km, int num)
EVP_MD_CTX *s1;
unsigned char buf[16], smd[SHA_DIGEST_LENGTH];
unsigned char c = 'A';
- unsigned int i, j, k;
+ unsigned int i, k;
int ret = 0;
#ifdef CHARSET_EBCDIC
@@ -47,8 +47,7 @@ static int ssl3_generate_key_block(SSL *s, unsigned char *km, int num)
goto err;
}
- for (j = 0; j < k; j++)
- buf[j] = c;
+ memset(buf, c, k);
c++;
if (!EVP_DigestInit_ex(s1, sha1, NULL)
|| !EVP_DigestUpdate(s1, buf, k)