Brad Bishop | 15ae250 | 2019-06-18 21:44:24 -0400 | [diff] [blame^] | 1 | From 18bddeaaf225d5becfc10cd2c6a1d037c90574a2 Mon Sep 17 00:00:00 2001 |
| 2 | From: Tomas Mraz <tmraz@fedoraproject.org> |
| 3 | Date: Tue, 11 Jun 2019 15:10:21 +0200 |
| 4 | Subject: [PATCH] resolved: Fix incorrect use of OpenSSL BUF_MEM |
| 5 | |
| 6 | Fixes: #12763 |
| 7 | Upstream-Status: Backport [Not yet released] |
| 8 | https://github.com/systemd/systemd/commit/18bddeaaf225d5becfc10cd2c6a1d037c90574a2 |
| 9 | Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> |
| 10 | --- |
| 11 | src/resolve/resolved-dnstls-openssl.c | 5 ++++- |
| 12 | 1 file changed, 4 insertions(+), 1 deletion(-) |
| 13 | |
| 14 | diff --git a/src/resolve/resolved-dnstls-openssl.c b/src/resolve/resolved-dnstls-openssl.c |
| 15 | index f269e4d6487f..5d9223007581 100644 |
| 16 | --- a/src/resolve/resolved-dnstls-openssl.c |
| 17 | +++ b/src/resolve/resolved-dnstls-openssl.c |
| 18 | @@ -6,6 +6,7 @@ |
| 19 | |
| 20 | #include <openssl/bio.h> |
| 21 | #include <openssl/err.h> |
| 22 | +#include <string.h> |
| 23 | |
| 24 | #include "io-util.h" |
| 25 | #include "resolved-dns-stream.h" |
| 26 | @@ -34,9 +35,11 @@ static int dnstls_flush_write_buffer(DnsStream *stream) { |
| 27 | return ss; |
| 28 | } else { |
| 29 | stream->dnstls_data.write_buffer->length -= ss; |
| 30 | - stream->dnstls_data.write_buffer->data += ss; |
| 31 | |
| 32 | if (stream->dnstls_data.write_buffer->length > 0) { |
| 33 | + memmove(stream->dnstls_data.write_buffer->data, |
| 34 | + stream->dnstls_data.write_buffer->data + ss, |
| 35 | + stream->dnstls_data.write_buffer->length); |
| 36 | stream->dnstls_events |= EPOLLOUT; |
| 37 | return -EAGAIN; |
| 38 | } |
| 39 | -- |
| 40 | 2.17.1 |
| 41 | |