diff --git a/src/ssl_crtlist.c b/src/ssl_crtlist.c index 0e3bbb097..1caaed7fd 100644 --- a/src/ssl_crtlist.c +++ b/src/ssl_crtlist.c @@ -520,11 +520,14 @@ int crtlist_load_crt(char *crt_path, struct ckch_conf *cc, struct crtlist *newli if (ckchs == NULL) { if (stat(crt_path, &st) == 0) { found++; - free(cc->crt); - cc->crt = strdup(crt_path); - if (cc->crt == NULL) { - cfgerr |= ERR_ALERT | ERR_FATAL; - goto error; + + if (crt_path != cc->crt) { + free(cc->crt); + cc->crt = strdup(crt_path); + if (cc->crt == NULL) { + cfgerr |= ERR_ALERT | ERR_FATAL; + goto error; + } } ckchs = ckch_store_new_load_files_conf(crt_path, cc, err);