[master] 445b07f5f Use VSL_OVERHEAD when reading binary VSL records back from files.
Poul-Henning Kamp
phk at FreeBSD.org
Wed Oct 26 14:09:09 UTC 2022
commit 445b07f5f7d98be06989a43ecdb6c3f26aba9c55
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Wed Oct 26 14:08:07 2022 +0000
Use VSL_OVERHEAD when reading binary VSL records back from files.
diff --git a/lib/libvarnishapi/vsl_cursor.c b/lib/libvarnishapi/vsl_cursor.c
index b06f7deb5..3d356ad1c 100644
--- a/lib/libvarnishapi/vsl_cursor.c
+++ b/lib/libvarnishapi/vsl_cursor.c
@@ -362,13 +362,13 @@ vslc_file_next(const struct VSL_cursor *cursor)
do {
c->cursor.rec.ptr = NULL;
assert(c->buflen >= 2);
- i = vslc_file_readn(c->fd, c->buf, VSL_BYTES(2));
+ i = vslc_file_readn(c->fd, c->buf, VSL_BYTES(VSL_OVERHEAD));
if (i < 0)
return (vsl_e_io);
if (i == 0)
return (vsl_e_eof);
- assert(i == VSL_BYTES(2));
- l = 2 + VSL_WORDS(VSL_LEN(c->buf));
+ assert(i == VSL_BYTES(VSL_OVERHEAD));
+ l = VSL_OVERHEAD + VSL_WORDS(VSL_LEN(c->buf));
if (c->buflen < l) {
while (c->buflen < l)
c->buflen = 2 * l;
@@ -376,13 +376,13 @@ vslc_file_next(const struct VSL_cursor *cursor)
AN(c->buf);
}
if (l > 2) {
- i = vslc_file_readn(c->fd, c->buf + 2,
- VSL_BYTES(l - 2));
+ i = vslc_file_readn(c->fd, c->buf + VSL_OVERHEAD,
+ VSL_BYTES(l - VSL_OVERHEAD));
if (i < 0)
return (vsl_e_io);
if (i == 0)
return (vsl_e_eof);
- assert(i == VSL_BYTES(l - 2));
+ assert(i == VSL_BYTES(l - VSL_OVERHEAD));
}
c->cursor.rec.ptr = c->buf;
} while (VSL_TAG(c->cursor.rec.ptr) == SLT__Batch);
More information about the varnish-commit
mailing list