diff --git a/libs/libc/stream/lib_blkoutstream.c b/libs/libc/stream/lib_blkoutstream.c index c48d42be396..4b4bfa90fe7 100644 --- a/libs/libc/stream/lib_blkoutstream.c +++ b/libs/libc/stream/lib_blkoutstream.c @@ -108,12 +108,12 @@ static int blkoutstream_puts(FAR struct lib_outstream_s *self, self->nput += remain; remain = 0; } - else if (remain >= sectorsize) + else { - size_t copyin = (remain / sectorsize) * sectorsize; + size_t nsector = remain / sectorsize; + size_t copyin = nsector * sectorsize; - ret = inode->u.i_bops->write(inode, ptr, sector, - remain / sectorsize); + ret = inode->u.i_bops->write(inode, ptr, sector, nsector); if (ret < 0) { return ret;