[6.0] be37f8307 avoid TRUST_ME in shard director
Dridi Boukelmoune
dridi.boukelmoune at gmail.com
Thu Aug 16 08:52:56 UTC 2018
commit be37f8307fba209b6dada5bab665ed9d2cbf4735
Author: Nils Goroll <nils.goroll at uplex.de>
Date: Tue May 8 17:13:37 2018 +0200
avoid TRUST_ME in shard director
diff --git a/lib/libvmod_directors/shard_cfg.c b/lib/libvmod_directors/shard_cfg.c
index 4674a40e9..54735953d 100644
--- a/lib/libvmod_directors/shard_cfg.c
+++ b/lib/libvmod_directors/shard_cfg.c
@@ -293,8 +293,8 @@ shardcfg_hashcircle(struct sharddir *shardd, VCL_INT replicas)
static void
shardcfg_backend_free(struct shard_backend *f)
{
- if (f->ident)
- free (TRUST_ME(f->ident));
+ if (f->freeptr)
+ free (f->freeptr);
memset(f, 0, sizeof(*f));
}
diff --git a/lib/libvmod_directors/shard_dir.h b/lib/libvmod_directors/shard_dir.h
index f1b1b008c..eeb17df64 100644
--- a/lib/libvmod_directors/shard_dir.h
+++ b/lib/libvmod_directors/shard_dir.h
@@ -57,7 +57,10 @@ struct shard_circlepoint {
struct shard_backend {
VCL_BACKEND backend;
- const char *ident; // XXX COPY IN !
+ union {
+ const char *ident;
+ void *freeptr;
+ };
VCL_DURATION rampup;
uint32_t canon_point;
};
More information about the varnish-commit
mailing list