]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: buffer_append_zero() - Avoid unnecessary memset()
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Thu, 11 Feb 2021 00:30:12 +0000 (02:30 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Tue, 21 Sep 2021 07:12:53 +0000 (07:12 +0000)
src/lib/buffer.c

index ddf1a195fb3ed09a2b24be8978cd8618e4d1078c..b08cd27935aab74556775046719e4eff7b65af07 100644 (file)
@@ -294,9 +294,13 @@ void buffer_write_zero(buffer_t *_buf, size_t pos, size_t data_size)
        memset(buf->w_buffer + pos, 0, data_size);
 }
 
-void buffer_append_zero(buffer_t *buf, size_t data_size)
+void buffer_append_zero(buffer_t *_buf, size_t data_size)
 {
-       buffer_write_zero(buf, buf->used, data_size);
+       struct real_buffer *buf = container_of(_buf, struct real_buffer, buf);
+
+       /* NOTE: When appending it's enough to check that the limits are
+          valid, because the data is already guaranteed to be zero-filled. */
+       buffer_check_limits(buf, buf->used, data_size);
 }
 
 void buffer_insert_zero(buffer_t *_buf, size_t pos, size_t data_size)