CVSROOT: /cvs Module name: src Changes by: js...@cvs.openbsd.org 2022/02/19 08:59:12
Modified files: lib/libcrypto/bio: bss_mem.c Log message: Reduce memmoves in memory BIOs. Currently, a read/write memory BIO pulls up the data via memmove() on each read. This becomes very expensive when a lot of small reads are performed, especially if there is a reasonable amount of data stored in the memory BIO. Instead, store a read offset into the buffer and only perform a memmove() to pull up the data on a write, if we have read more than 4096 bytes. This way we only perform memmove() when the space saving will potentially be of benefit, while avoiding frequent memmove() in the case of small interleaved reads and writes. Should address oss-fuzz #19881. ok inoguchi@ tb@