Fix asan finding in bio_addr
authorJuergen Christ <jchrist@linux.ibm.com>
Wed, 10 Aug 2022 15:59:19 +0000 (17:59 +0200)
committerMatt Caswell <matt@openssl.org>
Fri, 12 Aug 2022 15:13:13 +0000 (16:13 +0100)
commit278b0d8b674eba6f6e1ec51a18c3ccaf8db02701
tree96b05cbd8486b3bb4564e436e67331c084b67080
parentd13c8b7725437490be8c1a2b438936af10f808d0
Fix asan finding in bio_addr

Running test_tfo_cli under asan yields
==166214==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60700000d57c at pc 0x03ffa004ed86 bp 0x03ffe2977e80 sp 0x03ffe2977668
READ of size 112 at 0x60700000d57c thread T0
    #0 0x3ffa004ed85 in memcpy (/lib64/libasan.so.8+0x4ed85)
    #1 0x3ff9f3615b7 in BIO_ADDR_dup crypto/bio/bio_addr.c:77
[...]
and fails the test.

Fix this by copying the right structure of the union.

Signed-off-by: Juergen Christ <jchrist@linux.ibm.com>
Reviewed-by: Todd Short <todd.short@me.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18979)
crypto/bio/bio_addr.c