diff options
author | Dr. David Alan Gilbert <dgilbert@redhat.com> | 2019-04-15 13:17:40 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2019-04-15 20:01:18 +0200 |
commit | 6fabae61a9393fd2bc703837e464b9c34ec5ef25 (patch) | |
tree | 3ef9600e41d62004bcae93c7d737f9bd90aa9ecf /slirp | |
parent | afccfc0c4c6134a7bc9da6375996b3b91d291de4 (diff) | |
download | qemu-6fabae61a9393fd2bc703837e464b9c34ec5ef25.zip qemu-6fabae61a9393fd2bc703837e464b9c34ec5ef25.tar.gz qemu-6fabae61a9393fd2bc703837e464b9c34ec5ef25.tar.bz2 |
slirp: Gcc 9 -O3 fix
Gcc 9 needs some convincing that sopreprbuf really is going to fill
in iov in the call from soreadbuf, even though the failure case
shouldn't happen.
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20190415121740.9881-1-dgilbert@redhat.com>
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Diffstat (limited to 'slirp')
-rw-r--r-- | slirp/src/socket.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/slirp/src/socket.c b/slirp/src/socket.c index 4a3c935..bb752fd 100644 --- a/slirp/src/socket.c +++ b/slirp/src/socket.c @@ -171,6 +171,7 @@ int soread(struct socket *so) { int n, nn; + size_t buf_len; struct sbuf *sb = &so->so_snd; struct iovec iov[2]; @@ -181,7 +182,8 @@ soread(struct socket *so) * No need to check if there's enough room to read. * soread wouldn't have been called if there weren't */ - sopreprbuf(so, iov, &n); + buf_len = sopreprbuf(so, iov, &n); + assert(buf_len != 0); nn = recv(so->s, iov[0].iov_base, iov[0].iov_len,0); if (nn <= 0) { @@ -257,6 +259,7 @@ int soreadbuf(struct socket *so, const char *buf, int size) * No need to check if there's enough room to read. * soread wouldn't have been called if there weren't */ + assert(size > 0); if (sopreprbuf(so, iov, &n) < size) goto err; |