On Sun, Jun 14, 2020 at 05:27:36PM +0200, Tim Duesterhus wrote:
> We cannot simply `release_sample_expr(rule->arg.vars.expr)` for a
> `struct act_rule`, because `rule->arg` is a union that might not
> contain valid `vars`. This leads to a crash on a configuration using
> `http-request redirect` and possibly others:
> 
>     frontend http
>       mode http
>       bind 127.0.0.1:80
>       http-request redirect scheme https
> 
> Instead a `struct act_rule` has a `release_ptr` that must be used
> to properly free any additional storage allocated.
(...)

Thank you guys. I was hesitant on this one because I didn't remember
that part at all and had to see how this was used for other actions,
but after analysing the other ones, I agree that this is the correct
way to release memory.

Now applied, thank you!
Willy

Reply via email to