[master] 1deae5f0d vmod_debug: obj.test_priv_task() more assertions

Nils Goroll nils.goroll at uplex.de
Wed Jan 13 15:35:08 UTC 2021


commit 1deae5f0d04b9a0ac40b475dbd3a2132f536b6d8
Author: Nils Goroll <nils.goroll at uplex.de>
Date:   Wed Jan 13 16:05:25 2021 +0100

    vmod_debug: obj.test_priv_task() more assertions

diff --git a/vmod/vmod_debug_obj.c b/vmod/vmod_debug_obj.c
index b7cb49eef..803e9146c 100644
--- a/vmod/vmod_debug_obj.c
+++ b/vmod/vmod_debug_obj.c
@@ -185,6 +185,7 @@ xyzzy_obj_test_priv_task(VRT_CTX, struct xyzzy_debug_obj *o, VCL_STRING s)
 			    o->vcl_name);
 			return ("");
 		}
+		assert(p->methods == xyzzy_obj_test_priv_task_methods);
 		mylog(vsl, SLT_Debug,
 		    "%s.priv_task() = %p .priv = %p (\"%s\")",
 		    o->vcl_name, p, p->priv, p->priv);
@@ -204,9 +205,13 @@ xyzzy_obj_test_priv_task(VRT_CTX, struct xyzzy_debug_obj *o, VCL_STRING s)
 	    "%s.priv_task() = %p .priv = %p (\"%s\") [%s]",
 	    o->vcl_name, p, s, s, p->priv ? "update" : "new");
 
+	if (p->priv == NULL)
+		p->methods = xyzzy_obj_test_priv_task_methods;
+	else
+		assert(p->methods == xyzzy_obj_test_priv_task_methods);
+
 	/* minimum scope of s and priv is the task - no need to copy */
 	p->priv = TRUST_ME(s);
-	p->methods = xyzzy_obj_test_priv_task_methods;
 
 	return (p->priv);
 }


More information about the varnish-commit mailing list