From: Alessandro Ghedini Date: Sat, 17 Oct 2015 19:28:25 +0000 (+0200) Subject: Fix (minor) problems found by ubsan X-Git-Tag: OpenSSL_1_1_0-pre1~202 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=3003e0a4220f66690778b3ef7247ad5b56b4a375;p=oweals%2Fopenssl.git Fix (minor) problems found by ubsan Reviewed-by: Rich Salz Reviewed-by: Richard Levitte --- diff --git a/crypto/evp/scrypt.c b/crypto/evp/scrypt.c index 26b4e596ba..e609594a91 100644 --- a/crypto/evp/scrypt.c +++ b/crypto/evp/scrypt.c @@ -139,7 +139,7 @@ static void scryptROMix(unsigned char *B, uint64_t r, uint64_t N, *pV = *pB++; *pV |= *pB++ << 8; *pV |= *pB++ << 16; - *pV |= *pB++ << 24; + *pV |= (uint32_t)*pB++ << 24; } for (i = 1; i < N; i++, pV += 32 * r) diff --git a/test/ssltest.c b/test/ssltest.c index c46c211031..1128ec83b8 100644 --- a/test/ssltest.c +++ b/test/ssltest.c @@ -454,7 +454,12 @@ static int verify_alpn(SSL *client, SSL *server) OPENSSL_free(alpn_selected); alpn_selected = NULL; - if (client_proto_len != server_proto_len || + if (client_proto_len != server_proto_len) { + BIO_printf(bio_stdout, "ALPN selected protocols differ!\n"); + goto err; + } + + if (client_proto != NULL && memcmp(client_proto, server_proto, client_proto_len) != 0) { BIO_printf(bio_stdout, "ALPN selected protocols differ!\n"); goto err;