openssl/crypto
Neil Horman 4bad474746 embed bio_dgram_data inside bio_dgram_sctp_data
the sctp BIO implementation uses the generic BIO dgram implementation
under the covers for some operations.  However, the private data for
each bio is incongruous, leading to segfaults when doing things like
passing a dgram_sctp_ctrl operation to the underlying dgram_ctrl method.

Fix this by removing the common fields between the two strcutres and
embedding a bio_dgram_data as the first member of the
bio_dgram_sctp_data struct.  This allows implicit casting when that call
path is taken, avoiding any memory mis-use

Fixes #20643

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22278)
2023-10-05 19:09:06 +02:00
..
aes Improve performance for 6x unrolling with vpermxor instruction 2023-10-02 14:00:23 +02:00
aria
asn1 Copyright year updates 2023-09-07 09:59:15 +01:00
async
bf
bio embed bio_dgram_data inside bio_dgram_sctp_data 2023-10-05 19:09:06 +02:00
bn BN_gcd(): Avoid shifts of negative values 2023-10-05 12:05:16 +02:00
buffer
camellia
cast Copyright year updates 2023-09-07 09:59:15 +01:00
chacha LoongArch64 assembly pack: add ChaCha20 modules 2023-09-11 08:49:09 +10:00
cmac Copyright year updates 2023-09-07 09:59:15 +01:00
cmp cmp_vfy.c: Use verification callback if cert_acceptable() finds expired cert 2023-09-21 11:15:49 +10:00
cms Check error return from cms_sd_asn1_ctrl() correctly. 2023-09-08 16:31:47 +10:00
comp Copyright year updates 2023-09-07 09:59:15 +01:00
conf "foo * bar" should be "foo *bar" 2023-09-11 10:15:30 +02:00
crmf Copyright year updates 2023-09-07 09:59:15 +01:00
ct
des Copyright year updates 2023-09-07 09:59:15 +01:00
dh Don't (re-)initialize the FFC_PARAMs in dh_init and dsa_init 2023-10-04 12:22:04 +02:00
dsa Don't (re-)initialize the FFC_PARAMs in dh_init and dsa_init 2023-10-04 12:22:04 +02:00
dso Copyright year updates 2023-09-07 09:59:15 +01:00
ec Copyright year updates 2023-09-28 14:23:29 +01:00
encode_decode Copyright year updates 2023-09-07 09:59:15 +01:00
engine Improved detection of engine-provided private "classic" keys 2023-10-04 11:02:00 +11:00
err rand: add extra error code 2023-09-27 17:22:54 +01:00
ess
evp Restore the meaning of EVP_PKEY_print_private() 2023-10-04 08:10:55 +02:00
ffc Copyright year updates 2023-09-07 09:59:15 +01:00
hmac
hpke Copyright year updates 2023-09-07 09:59:15 +01:00
http Remove repeated words 2023-09-11 10:15:30 +02:00
idea
kdf
lhash All lh_stats functions were deprecated in 3.1 2023-10-04 07:52:41 +11:00
md2
md4
md5 Copyright year updates 2023-09-07 09:59:15 +01:00
mdc2
modes Copyright year updates 2023-09-07 09:59:15 +01:00
objects obj_xref.h: make update 2023-10-02 12:46:24 +02:00
ocsp Copyright year updates 2023-09-07 09:59:15 +01:00
pem Copyright year updates 2023-09-28 14:23:29 +01:00
perlasm Copyright year updates 2023-09-07 09:59:15 +01:00
pkcs7 Copyright year updates 2023-09-07 09:59:15 +01:00
pkcs12 Copyright year updates 2023-09-28 14:23:29 +01:00
poly1305 Copyright year updates 2023-09-07 09:59:15 +01:00
property ossl_property_list_to_string: handle quoted strings 2023-10-05 08:09:13 +11:00
rand Coverity 1545175: use after free 2023-10-02 19:18:21 +11:00
rc2 Copyright year updates 2023-09-07 09:59:15 +01:00
rc4 Copyright year updates 2023-09-07 09:59:15 +01:00
rc5 Copyright year updates 2023-09-07 09:59:15 +01:00
ripemd
rsa Fix a possible memleak in rsa_pub_encode 2023-09-11 10:48:54 +02:00
seed
sha Copyright year updates 2023-09-28 14:23:29 +01:00
siphash
sm2 Copyright year updates 2023-09-07 09:59:15 +01:00
sm3 Copyright year updates 2023-09-07 09:59:15 +01:00
sm4 Copyright year updates 2023-09-07 09:59:15 +01:00
srp Copyright year updates 2023-09-28 14:23:29 +01:00
stack Copyright year updates 2023-09-07 09:59:15 +01:00
store Copyright year updates 2023-09-28 14:23:29 +01:00
thread Copyright year updates 2023-09-07 09:59:15 +01:00
ts Copyright year updates 2023-09-07 09:59:15 +01:00
txt_db Copyright year updates 2023-09-07 09:59:15 +01:00
ui Copyright year updates 2023-09-07 09:59:15 +01:00
whrlpool Copyright year updates 2023-09-07 09:59:15 +01:00
x509 Copyright year updates 2023-09-28 14:23:29 +01:00
alphacpuid.pl
arm64cpuid.pl
arm_arch.h Copyright year updates 2023-09-07 09:59:15 +01:00
armcap.c Update with ARMV8_HAVE_SHA3_AND_WORTH_USING 2023-07-21 10:19:19 +10:00
armv4cpuid.pl Copyright year updates 2023-09-07 09:59:15 +01:00
asn1_dsa.c
bsearch.c
build.info Do not include sparse_array.o in libssl 2023-09-22 20:42:48 +02:00
c64xpluscpuid.pl
context.c Copyright year updates 2023-09-07 09:59:15 +01:00
core_algorithm.c
core_fetch.c
core_namemap.c Copyright year updates 2023-09-07 09:59:15 +01:00
cpt_err.c
cpuid.c Copyright year updates 2023-09-28 14:23:29 +01:00
cryptlib.c Copyright year updates 2023-09-07 09:59:15 +01:00
ctype.c Copyright year updates 2023-09-07 09:59:15 +01:00
cversion.c
der_writer.c
deterministic_nonce.c Copyright year updates 2023-09-07 09:59:15 +01:00
dllmain.c
ebcdic.c
ex_data.c Fix error handling in CRYPTO_get_ex_new_index 2023-09-21 14:43:08 +02:00
getenv.c
ia64cpuid.S
info.c Copyright year updates 2023-09-07 09:59:15 +01:00
init.c Copyright year updates 2023-09-07 09:59:15 +01:00
initthread.c Copyright year updates 2023-09-28 14:23:29 +01:00
loongarch64cpuid.pl
loongarch_arch.h Copyright year updates 2023-09-07 09:59:15 +01:00
loongarchcap.c Copyright year updates 2023-09-07 09:59:15 +01:00
LPdir_nyi.c
LPdir_unix.c Copyright year updates 2023-09-07 09:59:15 +01:00
LPdir_vms.c
LPdir_win32.c
LPdir_win.c
LPdir_wince.c
mem_clr.c
mem_sec.c Copyright year updates 2023-09-07 09:59:15 +01:00
mem.c Copyright year updates 2023-09-07 09:59:15 +01:00
mips_arch.h
o_dir.c
o_fopen.c
o_init.c
o_str.c Copyright year updates 2023-09-28 14:23:29 +01:00
o_time.c
packet.c Copyright year updates 2023-09-07 09:59:15 +01:00
param_build_set.c
param_build.c Copyright year updates 2023-09-07 09:59:15 +01:00
params_dup.c
params_from_text.c
params_idx.c.in params: provide a faster TRIE based param lookup. 2023-06-02 15:13:20 +10:00
params.c Copyright year updates 2023-09-07 09:59:15 +01:00
pariscid.pl
passphrase.c
ppccap.c
ppccpuid.pl
provider_child.c Copyright year updates 2023-09-07 09:59:15 +01:00
provider_conf.c Copyright year updates 2023-09-07 09:59:15 +01:00
provider_core.c fips: use seed source requested 2023-09-27 17:23:04 +01:00
provider_local.h
provider_predefined.c
provider.c Copyright year updates 2023-09-07 09:59:15 +01:00
punycode.c Copyright year updates 2023-09-07 09:59:15 +01:00
quic_vlint.c
README-sparse_array.md
riscv32cpuid.pl
riscv64cpuid.pl
riscvcap.c
s390x_arch.h Copyright year updates 2023-09-07 09:59:15 +01:00
s390xcap.c Copyright year updates 2023-09-07 09:59:15 +01:00
s390xcpuid.pl
self_test_core.c
sleep.c Copyright year updates 2023-09-07 09:59:15 +01:00
sparccpuid.S
sparcv9cap.c
sparse_array.c
threads_lib.c
threads_none.c Copyright year updates 2023-09-07 09:59:15 +01:00
threads_pthread.c Copyright year updates 2023-09-07 09:59:15 +01:00
threads_win.c Copyright year updates 2023-09-07 09:59:15 +01:00
time.c Copyright year updates 2023-09-07 09:59:15 +01:00
trace.c "foo * bar" should be "foo *bar" 2023-09-11 10:15:30 +02:00
uid.c Copyright year updates 2023-09-07 09:59:15 +01:00
vms_rms.h
x86_64cpuid.pl
x86cpuid.pl