]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: ssl: ckch_conf_clean() utility function for ckch_conf
authorWilliam Lallemand <wlallemand@haproxy.com>
Thu, 2 May 2024 18:50:59 +0000 (20:50 +0200)
committerWilliam Lallemand <wlallemand@haproxy.com>
Fri, 17 May 2024 15:35:51 +0000 (17:35 +0200)
- ckch_conf_clean() to free() the content of a ckch_conf structure,
  mostly the string that were strdup()

include/haproxy/ssl_ckch.h
src/ssl_ckch.c

index c8efb56c4d167346e1b4741d81d4a8f9f8095b68..3ec2c358627472cb22435243e4c8cfba8167d17b 100644 (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();
index b918fc1333c9e853e0ce69dadf393439c3c3e4cc..e91f42d73266c211ded3334fb21177db512585c1 100644 (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 @@ out:
        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,