diff --git a/lib/mpi/mpicoder.c b/lib/mpi/mpicoder.c index c20ef27ad87675a15ee8ca25e9d2d19798268e7b..c7e0a705eecfb1c389dcef39ee4f97c451728d44 100644 --- a/lib/mpi/mpicoder.c +++ b/lib/mpi/mpicoder.c @@ -446,8 +446,11 @@ MPI mpi_read_raw_from_sgl(struct scatterlist *sgl, unsigned int len) const u8 *buff = sg_virt(sg); int len = sg->length; - while (len-- && !*buff++) + while (len && !*buff) { lzeros++; + len--; + buff++; + } if (len && *buff) break;