Commit 17444c9c84fd0c8679499198fd4ee3b155fb297f
1 parent
bf1b938f
fixed invalid received length
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1155 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
6 additions
and
2 deletions
slirp/socket.c
... | ... | @@ -175,8 +175,12 @@ soread(so) |
175 | 175 | * a close will be detected on next iteration. |
176 | 176 | * A return of -1 wont (shouldn't) happen, since it didn't happen above |
177 | 177 | */ |
178 | - if (n == 2 && nn == iov[0].iov_len) | |
179 | - nn += recv(so->s, iov[1].iov_base, iov[1].iov_len,0); | |
178 | + if (n == 2 && nn == iov[0].iov_len) { | |
179 | + int ret; | |
180 | + ret = recv(so->s, iov[1].iov_base, iov[1].iov_len,0); | |
181 | + if (ret > 0) | |
182 | + nn += ret; | |
183 | + } | |
180 | 184 | |
181 | 185 | DEBUG_MISC((dfd, " ... read nn = %d bytes\n", nn)); |
182 | 186 | #endif | ... | ... |