commit 0c9dbe77378362ddd333790c3b291fd5b8e940ed from: op date: Fri Apr 3 13:21:00 2026 UTC fix memory leak in config_purge() when dealing CONFIG_PROTOS original diff from CypherFox (openbsd at cypher-fox com), thanks! slightly rearranged to be a bit smaller by me, but still equivalent. commit - 8b2ee1ae14ac9b438a93883d3b80dd27d0b13704 commit + 0c9dbe77378362ddd333790c3b291fd5b8e940ed blob - 0c5cc26c7f10c00615d2e5fb4232cd279d5d2e27 blob + d5ab25f76f4b1a87ae067410ce3bab8f90986e0a --- config.c +++ config.c @@ -1,4 +1,4 @@ -/* $OpenBSD: config.c,v 1.49 2026/04/03 09:36:21 op Exp $ */ +/* $OpenBSD: config.c,v 1.50 2026/04/03 13:21:00 op Exp $ */ /* * Copyright (c) 2011 - 2014 Reyk Floeter @@ -186,11 +186,6 @@ config_purge(struct relayd *env, u_int reset) while ((rule = TAILQ_FIRST(&proto->rules)) != NULL) rule_delete(&proto->rules, rule); proto->rulecount = 0; - } - } - if (what & CONFIG_PROTOS && env->sc_protos != NULL) { - while ((proto = TAILQ_FIRST(env->sc_protos)) != NULL) { - TAILQ_REMOVE(env->sc_protos, proto, entry); free(proto->style); free(proto->tlscapass); while ((keyname =