unbound-1.19.0 alloc_reg_obtain() core dumps

Yorgos Thessalonikefs yorgos at nlnetlabs.nl
Mon Feb 19 11:38:22 UTC 2024


Hi Sami,

I believe this alloc_reg_release() needs to be there and I don't see it 
being called twice on failure, unless I miss something.

As for the cores I started looking around; the latest ones seem really 
weird especially with pointers that seem to change between calls.

Did you find out if there was a reason systemctl restarts would happen 
unexpectedly, so that we can rule that out?

Best regards,
-- Yorgos

On 15/02/2024 08:52, Sami Kerola wrote:
> On Fri, 9 Feb 2024 at 12:59, Yorgos Thessalonikefs <yorgos at nlnetlabs.nl> wrote:
>> I am quiet because I have nothing to share at the moment but thanks for
>> these!
> 
> Hi Yorgos, et.al.,
> 
> I wonder could the issue be similar (but not the same) as earlier issue. Perhaps
> something like:
> 
> From: Sami Kerola <kerolasa at cloudflare.com>
> Subject: [PATCH] - Fix core dumps caused by double free
> Organization: Cloudflare
> 
> Similar-to: https://github.com/NLnetLabs/unbound/commit/cd22fdc28d35e3a659c89f346ff5e36b64e44845
> ---
>   services/outside_network.c | 1 -
>   1 file changed, 1 deletion(-)
> 
> diff --git a/services/outside_network.c b/services/outside_network.c
> index 1f89740d..ff2ce0e3 100644
> --- a/services/outside_network.c
> +++ b/services/outside_network.c
> @@ -3461,7 +3461,6 @@ outnet_serviced_query(struct outside_network* outnet,
>                                          ub_random_max(env->rnd,
>                                          env->cfg->ratelimit_factor) != 1) {
>                                          *was_ratelimited = 1;
> -                                       alloc_reg_release(env->alloc, region);
>                                          return NULL;
>                                  }
>                                  log_nametypeclass(VERB_ALGO,


More information about the Unbound-users mailing list