[SSSD] [PATCH] Free entry from negative cache

Jakub Hrozek jhrozek at redhat.com
Fri Mar 16 12:15:51 UTC 2012


On Fri, Mar 16, 2012 at 09:08:48AM +0100, Jakub Hrozek wrote:
> On Thu, Mar 15, 2012 at 10:57:04PM +0100, Sumit Bose wrote:
> > using free() is safe here, but you have to initialize data, or at least
> > data.dptr at the beginning of sss_ncache_check_str() because there is a
> > goto done before data is set.
> > 
> > bye,
> > Sumit
> 
> Ah, thank you. New patch is attached.

Sorry, that was wrong, yet another patch attached.
-------------- next part --------------
>From 191d823ce73e71064ea3a4fa39b706bae7ca7f74 Mon Sep 17 00:00:00 2001
From: Jakub Hrozek <jhrozek at redhat.com>
Date: Wed, 14 Mar 2012 16:22:50 +0100
Subject: [PATCH] Free entry found in negative cache

---
 src/responder/common/negcache.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/responder/common/negcache.c b/src/responder/common/negcache.c
index fab549c16d911985fbc37f112499e9f692103334..47f4c3235906176bf952eb491d42aad7a9003fd5 100644
--- a/src/responder/common/negcache.c
+++ b/src/responder/common/negcache.c
@@ -82,6 +82,8 @@ static int sss_ncache_check_str(struct sss_nc_ctx *ctx, char *str, int ttl)
 
     DEBUG(8, ("Checking negative cache for [%s]\n", str));
 
+    data.dptr = NULL;
+
     ret = string_to_tdb_data(str, &key);
     if (ret != EOK) goto done;
 
@@ -127,6 +129,7 @@ done:
         ret = ENOENT;
     }
 
+    free(data.dptr);
     return ret;
 }
 
-- 
1.7.7.6



More information about the sssd-devel mailing list