[6.2] bb3a1e362 Fix WS_ReserveSize calls when bytes is equal to free workspace
Martin Blix Grydeland
martin at varnish-software.com
Tue Feb 4 10:03:09 UTC 2020
commit bb3a1e362393ed78a9f55c1de32d58c6f2846420
Author: Martin Blix Grydeland <martin at varnish-software.com>
Date: Mon Dec 16 16:37:27 2019 +0100
Fix WS_ReserveSize calls when bytes is equal to free workspace
Currently, with the 505b7bd9643006fa8e3977f920564ce12a2b24a2 patch, when
calling WS_ReserveSize with bytes equal to the amount of workspace that is
currently available, it will return zero and mark overflow.
This patch redoes the patch, and changes it to return zero and overflow
only when the requested number of bytes is larger than what is available.
diff --git a/bin/varnishd/cache/cache_ws.c b/bin/varnishd/cache/cache_ws.c
index de04e896d..5de7a6830 100644
--- a/bin/varnishd/cache/cache_ws.c
+++ b/bin/varnishd/cache/cache_ws.c
@@ -263,7 +263,7 @@ WS_ReserveSize(struct ws *ws, unsigned bytes)
if (bytes < b2)
b2 = PRNDUP(bytes);
- if (ws->f + b2 >= ws->e) {
+ if (bytes > b2) {
WS_MarkOverflow(ws);
return (0);
}
More information about the varnish-commit
mailing list