[master] 1cf2de5b4 Support VSB_tofile() of VSBs larger than INT_MAX

Nils Goroll nils.goroll at uplex.de
Mon Oct 2 08:40:09 UTC 2023


commit 1cf2de5b458e9384369ea28cdcb026852aab233e
Author: Nils Goroll <nils.goroll at uplex.de>
Date:   Thu Sep 28 16:00:31 2023 +0200

    Support VSB_tofile() of VSBs larger than INT_MAX
    
    seen with an edgecase vtc, not relevant for production, but still a fix
    nevertheless.

diff --git a/lib/libvarnish/vsb.c b/lib/libvarnish/vsb.c
index e9e153b34..aed1182c8 100644
--- a/lib/libvarnish/vsb.c
+++ b/lib/libvarnish/vsb.c
@@ -670,11 +670,11 @@ VSB_indent(struct vsb *s, int i)
 int
 VSB_tofile(const struct vsb *s, int fd)
 {
-	int sz;
+	ssize_t r;
 
 	assert_VSB_integrity(s);
 	assert_VSB_state(s, VSB_FINISHED);
 	assert(s->s_len >= 0);
-	sz = write(fd, s->s_buf, s->s_len);
-	return (sz == s->s_len ? 0 : -1);
+	r = write(fd, s->s_buf, s->s_len);
+	return (r == s->s_len ? 0 : -1);
 }


More information about the varnish-commit mailing list