[master] 2cf57b2e9 vcc_acl: centralize acl_e copying
Nils Goroll
nils.goroll at uplex.de
Sat Mar 27 16:44:04 UTC 2021
commit 2cf57b2e951a6df2c7d13733f100cd293223500c
Author: Nils Goroll <nils.goroll at uplex.de>
Date: Sat Mar 27 17:39:10 2021 +0100
vcc_acl: centralize acl_e copying
Move the address strdup() to where the acl_e is allocated.
This plugs an utterly insignificant leak for error returns from
vcc_acl_entry().
diff --git a/lib/libvcc/vcc_acl.c b/lib/libvcc/vcc_acl.c
index 2cd215f3c..82cd31985 100644
--- a/lib/libvcc/vcc_acl.c
+++ b/lib/libvcc/vcc_acl.c
@@ -214,6 +214,8 @@ vcc_acl_add_entry(struct vcc *tl, const struct acl_e *ae, int l,
ALLOC_OBJ(aen, VCC_ACL_E_MAGIC);
AN(aen);
*aen = *ae;
+ aen->addr = strdup(ae->addr);
+ AN(aen->addr);
aen->fixed = vcc_acl_chk(tl, ae, l, u, fam);
@@ -385,8 +387,7 @@ vcc_acl_entry(struct vcc *tl)
ExpectErr(tl, CSTR);
ae->t_addr = tl->t;
- ae->addr = strdup(ae->t_addr->dec);
- AN(ae->addr);
+ ae->addr = ae->t_addr->dec;
vcc_NextToken(tl);
if (strchr(ae->t_addr->dec, '/') != NULL) {
More information about the varnish-commit
mailing list