On 12/10/2015 10:17, Jason Wang wrote: > static ssize_t nc_sendv_compat(NetClientState *nc, const struct iovec *iov, > - int iovcnt) > + int iovcnt, unsigned flags) > { > - uint8_t buffer[NET_BUFSIZE]; > + uint8_t buf[NET_BUFSIZE]; > + uint8_t *buffer; > size_t offset; > > - offset = iov_to_buf(iov, iovcnt, 0, buffer, sizeof(buffer)); > + if (iovcnt == 1) { > + buffer = iov[0].iov_base; > + offset = iov[0].iov_len; > + } else { > + buffer = buf; > + offset = iov_to_buf(iov, iovcnt, 0, buffer, sizeof(buffer));
You want "buf, sizeof(buf)" here. sizeof(buffer) is the size of a pointer, which is wrong. Jason, can you please fix this? Paolo > + }