r3163 - trunk/varnish-cache/lib/libvcl
Poul-Henning Kamp
phk at phk.freebsd.dk
Sun Sep 7 10:32:13 CEST 2008
In message <20080907074726.BF0941EC1FF at projects.linpro.no>, tfheen at projects.lin
pro.no writes:
>Author: tfheen
>Date: 2008-09-07 09:47:26 +0200 (Sun, 07 Sep 2008)
>New Revision: 3163
>
>Modified:
> trunk/varnish-cache/lib/libvcl/vcc_action.c
>Log:
>Don't segfault on purge.hash() with NULL string. Fixes #307.
I am not happy with this commit, it needlessly and counter-intuitively
restricts the argument to a variable, it should be a free string
value like it was before and is everywhere else.
Poul-Henning
>
>
>Modified: trunk/varnish-cache/lib/libvcl/vcc_action.c
>===================================================================
>--- trunk/varnish-cache/lib/libvcl/vcc_action.c 2008-09-03 13:26:36 UTC (rev 3162)
>+++ trunk/varnish-cache/lib/libvcl/vcc_action.c 2008-09-07 07:47:26 UTC (rev 3163)
>@@ -336,22 +336,26 @@
> static void
> parse_purge_url(struct tokenlist *tl)
> {
>+ struct var *vp;
>
> vcc_NextToken(tl);
>
>- Fb(tl, 1, "VRT_purge(");
>-
> Expect(tl, '(');
> vcc_NextToken(tl);
>
>- if (!vcc_StringVal(tl)) {
>+ vp = vcc_FindVar(tl, tl->t, vcc_vars);
>+ ERRCHK(tl);
>+ assert(vp != NULL);
>+ if (vp->fmt != STRING) {
> vcc_ExpectedStringval(tl);
> return;
> }
>
>+ Fb(tl, 1, "if (%s) VRT_purge(%s, 0);\n", vp->rname, vp->rname);
>+ vcc_NextToken(tl);
>+
> Expect(tl, ')');
> vcc_NextToken(tl);
>- Fb(tl, 0, ", 0);\n");
> }
>
>
>
>_______________________________________________
>varnish-commit mailing list
>varnish-commit at projects.linpro.no
>http://projects.linpro.no/mailman/listinfo/varnish-commit
>
--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.
More information about the varnish-commit
mailing list