On Thu, Feb 16, 2023 at 02:08:19AM +0100, Stefano Brivio wrote: > David points out that using multiple counters to go over the iov > array, namely 'i' and 'iov', makes mistakes easier. We can't just use > 'iov', unless we reserve an element with zero iov_len at the end, > which isn't really justified. > > Simply use 'i' to iterate over the array. > > Link: https://archives.passt.top/passt-dev/Y+mfenvLn3VJ7Dg5@yekko/ > Signed-off-by: Stefano Brivio Reviewed-by: David Gibson > --- > tap.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/tap.c b/tap.c > index 02da84d..e4c5b5b 100644 > --- a/tap.c > +++ b/tap.c > @@ -316,13 +316,13 @@ static void tap_send_frames_pasta(struct ctx *c, > { > size_t i; > > - for (i = 0; i < n; i++, iov++) { > - if (write(c->fd_tap, (char *)iov->iov_base, iov->iov_len) < 0) { > + for (i = 0; i < n; i++) { > + if (write(c->fd_tap, (char *)iov[i].iov_base, > + iov[i].iov_len) < 0) { > debug("tap write: %s", strerror(errno)); > if (errno != EAGAIN && errno != EWOULDBLOCK) > tap_handler(c, c->fd_tap, EPOLLERR, NULL); > i--; > - iov--; > } > } > } -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson