From: Hou Tao Date: Tue, 17 Oct 2017 03:20:45 +0000 (+0800) Subject: log-writes: fix possible infinite loop in zero_range() X-Git-Tag: v2022.05.01~1818 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=14b71ba4db49278b87b1dbe656a1a615d0066084;p=xfstests-dev.git log-writes: fix possible infinite loop in zero_range() Found it when trying to remove the limitation of log->max_zero_size. Signed-off-by: Hou Tao Reviewed-by: Amir Goldstein Signed-off-by: Eryu Guan --- diff --git a/src/log-writes/log-writes.c b/src/log-writes/log-writes.c index fab447a8..09391574 100644 --- a/src/log-writes/log-writes.c +++ b/src/log-writes/log-writes.c @@ -65,6 +65,9 @@ static int zero_range(struct log *log, u64 start, u64 len) memset(buf, 0, bufsize); while (len) { + if (len < bufsize) + bufsize = len; + ret = pwrite(log->replayfd, buf, bufsize, start); if (ret != bufsize) { fprintf(stderr, "Error zeroing file: %d\n", errno);