diff options
author | Test_User <hax@andrewyu.org> | 2024-06-19 03:59:17 -0400 |
---|---|---|
committer | Test_User <hax@andrewyu.org> | 2024-06-19 04:00:31 -0400 |
commit | 1fccd7a7bca5a980706b098d0b75f6c99edab63d (patch) | |
tree | 2ea3b51bc17b5b083a1f099bc7b804a7ea322662 /networks | |
parent | 991d1d37474726ae5dc910da9705485f7b193e18 (diff) | |
download | haxircd-1fccd7a7bca5a980706b098d0b75f6c99edab63d.tar.gz haxircd-1fccd7a7bca5a980706b098d0b75f6c99edab63d.zip |
Don't send more than half the buffer at a time
Diffstat (limited to 'networks')
-rw-r--r-- | networks/openssl_buffered.c | 2 | ||||
-rw-r--r-- | networks/plaintext_buffered.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/networks/openssl_buffered.c b/networks/openssl_buffered.c index f929145..6959d33 100644 --- a/networks/openssl_buffered.c +++ b/networks/openssl_buffered.c @@ -124,6 +124,8 @@ void * openssl_buffered_send_thread(void *handle) { if (read_buffer_index + len > OPENSSL_BUFFERED_LEN) len = OPENSSL_BUFFERED_LEN - read_buffer_index; + if (len > OPENSSL_BUFFERED_LEN/2 && OPENSSL_BUFFERED_LEN > 1) + len = OPENSSL_BUFFERED_LEN/2; struct pollfd pollfd = { .fd = info->fd, diff --git a/networks/plaintext_buffered.c b/networks/plaintext_buffered.c index 99bd085..6f5016c 100644 --- a/networks/plaintext_buffered.c +++ b/networks/plaintext_buffered.c @@ -108,6 +108,8 @@ void * plaintext_buffered_send_thread(void *handle) { if (read_buffer_index + len > PLAINTEXT_BUFFERED_LEN) len = PLAINTEXT_BUFFERED_LEN - read_buffer_index; + if (len > PLAINTEXT_BUFFERED_LEN/2 && PLAINTEXT_BUFFERED_LEN > 1) + len = PLAINTEXT_BUFFERED_LEN/2; ssize_t res; do { |