]> git.ipfire.org Git - pakfire.git/commitdiff
buffer: Don't allow to resize the buffer smaller than what it holds
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 24 Mar 2025 18:11:36 +0000 (18:11 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 24 Mar 2025 18:11:36 +0000 (18:11 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/pakfire/buffer.c

index a21ecd9b00681024e175867a4c2a7d0e4ab445d7..3c11e8d9a9935003782dd4e35fe44e76369ed609 100644 (file)
@@ -76,6 +76,10 @@ static int pakfire_buffer_resize(struct pakfire_buffer* self, size_t length) {
        if (self->max_length && (length > self->max_length))
                return -ENOBUFS;
 
+       // Don't make the buffer smaller than the used space
+       if (length < self->used)
+               return -EINVAL;
+
        // Round up to the nearest chunk size
        length = pakfire_buffer_align(self, length);