diff options
author | tb <> | 2022-10-21 15:48:14 +0000 |
---|---|---|
committer | tb <> | 2022-10-21 15:48:14 +0000 |
commit | 5947149f2d5f6bd00b40724addc10b4a9ac5f824 (patch) | |
tree | d53f3ebfc478269fe1593e1cd57ea9a7d7bc4fec /src/lib/libssl/ssl_pkt.c | |
parent | 39d8b39e3814744e9d0c771ad5283c992fcf101b (diff) | |
download | openbsd-5947149f2d5f6bd00b40724addc10b4a9ac5f824.tar.gz openbsd-5947149f2d5f6bd00b40724addc10b4a9ac5f824.tar.bz2 openbsd-5947149f2d5f6bd00b40724addc10b4a9ac5f824.zip |
Add extra NULL check after ssl3_setup_read_buffer()
While ssl3_setup_read_buffer() success alone is enough to imply that
the read bufer is non-NULL, several static analyzers fail to recognize
that and throw fits about possible NULL accesses.
CID 331010
Fix from and ok jsing
Diffstat (limited to 'src/lib/libssl/ssl_pkt.c')
-rw-r--r-- | src/lib/libssl/ssl_pkt.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lib/libssl/ssl_pkt.c b/src/lib/libssl/ssl_pkt.c index 8462d03967..ddb2ce0935 100644 --- a/src/lib/libssl/ssl_pkt.c +++ b/src/lib/libssl/ssl_pkt.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_pkt.c,v 1.61 2022/10/02 16:36:41 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_pkt.c,v 1.62 2022/10/21 15:48:14 tb Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -158,9 +158,12 @@ ssl3_read_n(SSL *s, int n, int max, int extend) | |||
158 | if (n <= 0) | 158 | if (n <= 0) |
159 | return n; | 159 | return n; |
160 | 160 | ||
161 | if (rb->buf == NULL) | 161 | if (rb->buf == NULL) { |
162 | if (!ssl3_setup_read_buffer(s)) | 162 | if (!ssl3_setup_read_buffer(s)) |
163 | return -1; | 163 | return -1; |
164 | } | ||
165 | if (rb->buf == NULL) | ||
166 | return -1; | ||
164 | 167 | ||
165 | left = rb->left; | 168 | left = rb->left; |
166 | align = (size_t)rb->buf + SSL3_RT_HEADER_LENGTH; | 169 | align = (size_t)rb->buf + SSL3_RT_HEADER_LENGTH; |