From da0bbdd62614df6d6a33f91142a3e72525f7186e Mon Sep 17 00:00:00 2001 From: Bernd Edlinger Date: Mon, 25 Jun 2018 09:53:46 +0200 Subject: [PATCH] Fix some more gcc-9 warnings [-Wstringop-truncation] Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/6586) --- apps/passwd.c | 6 +++--- ssl/s3_srvr.c | 9 +++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/apps/passwd.c b/apps/passwd.c index 56e10ad3d8..718f0e0124 100644 --- a/apps/passwd.c +++ b/apps/passwd.c @@ -306,9 +306,9 @@ static char *md5crypt(const char *passwd, const char *magic, const char *salt) out_buf[0] = '$'; out_buf[1] = 0; assert(strlen(magic) <= 4); /* "1" or "apr1" */ - strncat(out_buf, magic, 4); - strncat(out_buf, "$", 1); - strncat(out_buf, salt, 8); + BUF_strlcat(out_buf, magic, sizeof(out_buf)); + BUF_strlcat(out_buf, "$", sizeof(out_buf)); + BUF_strlcat(out_buf, salt, sizeof(out_buf)); assert(strlen(out_buf) <= 6 + 8); /* "$apr1$..salt.." */ salt_out = out_buf + 2 + strlen(magic); salt_len = strlen(salt_out); diff --git a/ssl/s3_srvr.c b/ssl/s3_srvr.c index 96d973cd02..753b804d50 100644 --- a/ssl/s3_srvr.c +++ b/ssl/s3_srvr.c @@ -1959,11 +1959,12 @@ int ssl3_send_server_key_exchange(SSL *s) #ifndef OPENSSL_NO_PSK if (type & SSL_kPSK) { + size_t len = strlen(s->ctx->psk_identity_hint); + /* copy PSK identity hint */ - s2n(strlen(s->ctx->psk_identity_hint), p); - strncpy((char *)p, s->ctx->psk_identity_hint, - strlen(s->ctx->psk_identity_hint)); - p += strlen(s->ctx->psk_identity_hint); + s2n(len, p); + memcpy(p, s->ctx->psk_identity_hint, len); + p += len; } #endif -- 2.25.1