From 10052d7a8dde90c9f281dd39ec1edd59094393cc Mon Sep 17 00:00:00 2001 From: Lorenzo Cogotti Date: Mon, 3 Oct 2022 00:39:27 +0200 Subject: [PATCH] [mem_file] Fix Stm_MemFileWrite() buffer management. --- lonetix/mem_file.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lonetix/mem_file.c b/lonetix/mem_file.c index 42baab9..f98f725 100644 --- a/lonetix/mem_file.c +++ b/lonetix/mem_file.c @@ -148,12 +148,12 @@ Sint64 Stm_MemFileWrite(MemFile *stm, const void *buf, size_t nbytes) if ((stm->flags & MEM_FILE_WRBIT) == 0) return -1; - size_t navail = stm->cap - stm->nbytes; + size_t navail = stm->cap - stm->pos; size_t nreq = nbytes + 1; // for trailing '\0' if (navail < nreq) { if ((stm->flags & MEM_FILE_NOGROWBIT) == 0) { // grow buffer - if (Stm_MemFileGrow(stm, nreq) != OK) + if (Stm_MemFileGrow(stm, stm->pos + nreq) != OK) return -1; } else