On Fri, Feb 12, 2021 at 06:16:07AM -0500, Jagannathan Raman wrote: > Using error_prepend() in qio_channel_readv_full_all() causes a segfault > as errp is not set when ret is 0. This results in the failure of iotest > 83. Replacing with error_setg() fixes the problem. > > Additionally, removes a full stop at the end of error message > > Reported-by: Max Reitz <mre...@redhat.com> > Signed-off-by: Jagannathan Raman <jag.ra...@oracle.com> > --- > io/channel.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/io/channel.c b/io/channel.c > index 4555021..e8b019d 100644 > --- a/io/channel.c > +++ b/io/channel.c > @@ -202,8 +202,7 @@ int qio_channel_readv_full_all(QIOChannel *ioc, > int ret = qio_channel_readv_full_all_eof(ioc, iov, niov, fds, nfds, > errp); > > if (ret == 0) { > - error_prepend(errp, > - "Unexpected end-of-file before all data were read."); > + error_setg(errp, "Unexpected end-of-file before all data were read"); > return -1; > } > if (ret == 1) {
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|