Sat, 18 Jul 2026 20:50:04 +0200
fix missing error propagation in net_http_write when using chunked transfer encoding
| src/server/util/io.c | file | annotate | diff | comparison | revisions |
--- a/src/server/util/io.c Sat Jul 18 20:34:33 2026 +0200 +++ b/src/server/util/io.c Sat Jul 18 20:50:04 2026 +0200 @@ -137,8 +137,11 @@ #ifdef XP_UNIX ssize_t net_sys_write(Sysstream *st, const void *buf, size_t nbytes) { + st->st.io_errno = 0; ssize_t r = write(st->fd, buf, nbytes); - st->st.io_errno = errno; + if(r <= 0) { + st->st.io_errno = errno; + } return r; } @@ -422,6 +425,9 @@ IOStream *fd = st->fd; if(!st->chunked_enc) { ssize_t w = fd->write(fd, buf, nbytes); + if(w <= 0) { + st->st.io_errno = fd->io_errno; + } //st->written += w > 0 ? w : 0; st->written += w; return w;