From 7bb8b1d7b37db2c7964318ca60dca1d4b641adbd Mon Sep 17 00:00:00 2001 From: bol-van Date: Fri, 6 Feb 2026 11:04:27 +0300 Subject: [PATCH] nfqws2: clear partially allocated windivert filters --- nfq2/params.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nfq2/params.c b/nfq2/params.c index a090dfa..591f56e 100644 --- a/nfq2/params.c +++ b/nfq2/params.c @@ -532,14 +532,15 @@ bool alloc_windivert_portfilters(struct params_s *params) ¶ms->wf_ipf_in, ¶ms->wf_ipf_out}; for (int i=0 ; i<(sizeof(wdbufs)/sizeof(*wdbufs)) ; i++) { - if (!(*wdbufs[i] = malloc(WINDIVERT_PORTFILTER_MAX))) - return false; + if (!(*wdbufs[i] = malloc(WINDIVERT_PORTFILTER_MAX))) goto err; **wdbufs[i] = 0; } - if (!(params->wf_raw_filter = malloc(WINDIVERT_MAX))) - return false; + if (!(params->wf_raw_filter = malloc(WINDIVERT_MAX))) goto err; *params->wf_raw_filter = 0; return true; +err: + cleanup_windivert_portfilters(params); + return false; } #endif void cleanup_params(struct params_s *params) @@ -607,5 +608,4 @@ void init_params(struct params_s *params) params->droproot = true; } #endif - }