]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
resolved: Fix incorrect use of OpenSSL BUF_MEM
authorTomas Mraz <tmraz@fedoraproject.org>
Tue, 11 Jun 2019 13:10:21 +0000 (15:10 +0200)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 12 Jun 2019 02:15:25 +0000 (11:15 +0900)
Fixes: #12763
src/resolve/resolved-dnstls-openssl.c

index f269e4d6487fd6dd0621c3aa41767bc52459404f..5d92230075816b78db8e40d3a10050d2ab42348d 100644 (file)
@@ -6,6 +6,7 @@
 
 #include <openssl/bio.h>
 #include <openssl/err.h>
+#include <string.h>
 
 #include "io-util.h"
 #include "resolved-dns-stream.h"
@@ -34,9 +35,11 @@ static int dnstls_flush_write_buffer(DnsStream *stream) {
                         return ss;
                 } else {
                         stream->dnstls_data.write_buffer->length -= ss;
-                        stream->dnstls_data.write_buffer->data += ss;
 
                         if (stream->dnstls_data.write_buffer->length > 0) {
+                                memmove(stream->dnstls_data.write_buffer->data,
+                                        stream->dnstls_data.write_buffer->data + ss,
+                                        stream->dnstls_data.write_buffer->length);
                                 stream->dnstls_events |= EPOLLOUT;
                                 return -EAGAIN;
                         }