]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/shared/varlink.c
shared/varlink: add missing setting of output_buffer_allocated
[thirdparty/systemd.git] / src / shared / varlink.c
index 7719a7d0214eca39afb6d8dca72159a703baa6be..3256a934901e213ba0ed0f6d4e7531c98574485f 100644 (file)
@@ -1235,15 +1235,16 @@ static int varlink_enqueue_json(Varlink *v, JsonVariant *m) {
 
         } else {
                 char *n;
+                const size_t new_size = v->output_buffer_size + r + 1;
 
-                n = new(char, v->output_buffer_size + r + 1);
+                n = new(char, new_size);
                 if (!n)
                         return -ENOMEM;
 
                 memcpy(mempcpy(n, v->output_buffer + v->output_buffer_index, v->output_buffer_size), text, r + 1);
 
                 free_and_replace(v->output_buffer, n);
-                v->output_buffer_size += r + 1;
+                v->output_buffer_allocated = v->output_buffer_size = new_size;
                 v->output_buffer_index = 0;
         }