[master] 3c8d56a Free tmp var in vsc_f_arg when in error condition.

Martin Blix Grydeland martin at varnish-cache.org
Tue Oct 1 14:48:20 CEST 2013


commit 3c8d56a8b0683b0c37bd9cfb84b57b76f9390e10
Author: Martin Blix Grydeland <martin at varnish-software.com>
Date:   Tue Oct 1 13:44:57 2013 +0200

    Free tmp var in vsc_f_arg when in error condition.
    
    Spotted by: Coverity

diff --git a/lib/libvarnishapi/vsc.c b/lib/libvarnishapi/vsc.c
index f2f270c..c617520 100644
--- a/lib/libvarnishapi/vsc.c
+++ b/lib/libvarnishapi/vsc.c
@@ -184,8 +184,11 @@ vsc_f_arg(struct VSM_data *vd, const char *opt)
 
 	av = VAV_Parse(opt, NULL, ARGV_COMMA);
 	AN(av);
-	if (av[0] != NULL)
-		return (vsm_diag(vd, "Parse error: %s", av[0]));
+	if (av[0] != NULL) {
+		i = vsm_diag(vd, "Parse error: %s", av[0]);
+		VAV_Free(av);
+		return (i);
+	}
 	for (i = 1; av[i] != NULL; i++) {
 		ALLOC_OBJ(sf, VSC_SF_MAGIC);
 		AN(sf);



More information about the varnish-commit mailing list