diff options
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 4a3c935e25..bb752fdcae 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; |