From 51f4f46ae05251967a6152514d9a935e960d022b Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sat, 27 Feb 2021 15:08:34 +0100 Subject: [PATCH] ramfs: fix truncfile() for non multiple of extend size (64k) The calculation of the last block size is wrong and we can only shrink the size of the last data block, not extend it. --- sys/src/cmd/ramfs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/src/cmd/ramfs.c b/sys/src/cmd/ramfs.c index 85bbe9e31..90f1225e8 100644 --- a/sys/src/cmd/ramfs.c +++ b/sys/src/cmd/ramfs.c @@ -249,7 +249,8 @@ truncfile(File *f, vlong l) if(i < n){ o = l % ESIZE; if(o != 0 && x->ent[i] != nil){ - x->ent[i]->size = o * sizeof(Ram*); + if(o < x->ent[i]->size) + x->ent[i]->size = o; i++; } while(i < n){