]> err.no Git - varnish/commitdiff
Solaris fix for VRT_error
authortfheen <tfheen@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Mon, 2 Mar 2009 09:49:15 +0000 (09:49 +0000)
committertfheen <tfheen@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Mon, 2 Mar 2009 09:49:15 +0000 (09:49 +0000)
If VRT_error is called with reason==NULL, WSL() will eventually call
strlen(0), which will cause a SIGSEGV on (Open)Solaris.  Fix this by
checking if the reason is empty and just use (null) in that case.

Fixes: 458
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3847 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/bin/varnishd/cache_vrt.c

index 80b0566ad5bdf87b7675c040ddcc80fc4cdf8ff9..08598a3d0a9a274bed2014d503cb467138a46cd6 100644 (file)
@@ -62,7 +62,8 @@ VRT_error(struct sess *sp, unsigned code, const char *reason)
 {
 
        CHECK_OBJ_NOTNULL(sp, SESS_MAGIC);
-       WSL(sp->wrk, SLT_Debug, 0, "VCL_error(%u, %s)", code, reason);
+       WSL(sp->wrk, SLT_Debug, 0, "VCL_error(%u, %s)", code, reason ? 
+           reason : "(null)");
        sp->err_code = code ? code : 503;
        sp->err_reason = reason ? reason : http_StatusMessage(sp->err_code);
 }