[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] slirp: Gcc 9 -O3 fix
From: |
Dr. David Alan Gilbert (git) |
Subject: |
[Qemu-devel] [PATCH] slirp: Gcc 9 -O3 fix |
Date: |
Fri, 5 Apr 2019 19:46:48 +0100 |
From: "Dr. David Alan Gilbert" <address@hidden>
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; so swing the check around initialising the fields.
Signed-off-by: Dr. David Alan Gilbert <address@hidden>
---
slirp/src/socket.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/slirp/src/socket.c b/slirp/src/socket.c
index 4a3c935e25..4a2222a95f 100644
--- a/slirp/src/socket.c
+++ b/slirp/src/socket.c
@@ -113,12 +113,14 @@ size_t sopreprbuf(struct socket *so, struct iovec *iov,
int *np)
DEBUG_CALL("sopreprbuf");
DEBUG_ARG("so = %p", so);
- if (len <= 0)
- return 0;
-
iov[0].iov_base = sb->sb_wptr;
+ iov[0].iov_len = 0;
iov[1].iov_base = NULL;
iov[1].iov_len = 0;
+
+ if (len <= 0)
+ return 0;
+
if (sb->sb_wptr < sb->sb_rptr) {
iov[0].iov_len = sb->sb_rptr - sb->sb_wptr;
/* Should never succeed, but... */
--
2.21.0
- [Qemu-devel] [PATCH] slirp: Gcc 9 -O3 fix,
Dr. David Alan Gilbert (git) <=