From 2e6615b2823819c7092cfdb596408c09dee160ee Mon Sep 17 00:00:00 2001 From: William Lallemand Date: Thu, 2 May 2024 20:50:59 +0200 Subject: [PATCH] MINOR: ssl: ckch_conf_clean() utility function for ckch_conf - ckch_conf_clean() to free() the content of a ckch_conf structure, mostly the string that were strdup() --- include/haproxy/ssl_ckch.h | 4 ++++ src/ssl_ckch.c | 16 +++++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/include/haproxy/ssl_ckch.h b/include/haproxy/ssl_ckch.h index c8efb56c4..3ec2c3586 100644 --- a/include/haproxy/ssl_ckch.h +++ b/include/haproxy/ssl_ckch.h @@ -46,7 +46,11 @@ void ckch_store_free(struct ckch_store *store); void ckch_store_replace(struct ckch_store *old_ckchs, struct ckch_store *new_ckchs); int ckch_store_load_files(struct ckch_conf *f, struct ckch_store *c, char **err); +/* ckch_conf functions */ + int ckch_conf_parse(char **args, int cur_arg, struct ckch_conf *f, int *found, const char *file, int linenum, char **err); +void ckch_conf_clean(struct ckch_conf *conf); + /* ckch_inst functions */ void ckch_inst_free(struct ckch_inst *inst); struct ckch_inst *ckch_inst_new(); diff --git a/src/ssl_ckch.c b/src/ssl_ckch.c index b918fc133..e91f42d73 100644 --- a/src/ssl_ckch.c +++ b/src/ssl_ckch.c @@ -909,11 +909,7 @@ void ckch_store_free(struct ckch_store *store) ha_free(&store->data); /* free the ckch_conf content */ - free(store->conf.crt); - free(store->conf.key); - free(store->conf.ocsp); - free(store->conf.issuer); - free(store->conf.sctl); + ckch_conf_clean(&store->conf); free(store); } @@ -4208,6 +4204,16 @@ int ckch_conf_parse(char **args, int cur_arg, struct ckch_conf *f, int *found, c return err_code; } +/* freeing the content of a ckch_conf structure */ +void ckch_conf_clean(struct ckch_conf *conf) +{ + free(conf->crt); + free(conf->key); + free(conf->ocsp); + free(conf->issuer); + free(conf->sctl); +} + static char current_crtstore_name[PATH_MAX] = {}; static int crtstore_parse_load(char **args, int section_type, struct proxy *curpx, const struct proxy *defpx,