From 2ad42b2804d3178a06dc626a224890d163be2c00 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 29 Oct 2009 23:23:41 +0000 Subject: [PATCH] dup to prevent access after free: --- src/arm/arm_api.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/arm/arm_api.c b/src/arm/arm_api.c index 810f2ebe6..f2d2b293a 100644 --- a/src/arm/arm_api.c +++ b/src/arm/arm_api.c @@ -54,7 +54,7 @@ struct GNUNET_ARM_Handle /** * The configuration that we are using. */ - const struct GNUNET_CONFIGURATION_Handle *cfg; + struct GNUNET_CONFIGURATION_Handle *cfg; /** * Scheduler to use. @@ -87,7 +87,7 @@ GNUNET_ARM_connect (const struct GNUNET_CONFIGURATION_Handle *cfg, if (client == NULL) return NULL; ret = GNUNET_malloc (sizeof (struct GNUNET_ARM_Handle)); - ret->cfg = cfg; + ret->cfg = GNUNET_CONFIGURATION_dup (cfg); ret->sched = sched; ret->client = client; return ret; @@ -104,6 +104,7 @@ GNUNET_ARM_disconnect (struct GNUNET_ARM_Handle *h) { if (h->client != NULL) GNUNET_CLIENT_disconnect (h->client); + GNUNET_CONFIGURATION_destroy (h->cfg); GNUNET_free (h); } -- 2.25.1