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()
This commit is contained in:
William Lallemand 2024-05-02 20:50:59 +02:00
parent 2b6b7fea58
commit 2e6615b282
2 changed files with 15 additions and 5 deletions

View File

@ -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();

View File

@ -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,