From 76cc7f6dd6701da0163e11d3cbd0a37209584731 Mon Sep 17 00:00:00 2001 From: Mikolaj Golub Date: Sun, 15 May 2011 12:39:30 +0000 Subject: [PATCH] Fix a memory leak possible in g_eli_key_allocate() if the key with the same keyno is added while we aren't holding the lock. Approved by: pjd (mentor) MFC after: 1 week --- sys/geom/eli/g_eli_key_cache.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/geom/eli/g_eli_key_cache.c b/sys/geom/eli/g_eli_key_cache.c index 0a5a9ca6e8d..de4989b72f6 100644 --- a/sys/geom/eli/g_eli_key_cache.c +++ b/sys/geom/eli/g_eli_key_cache.c @@ -124,6 +124,7 @@ g_eli_key_allocate(struct g_eli_softc *sc, uint64_t keyno) ekey = RB_FIND(g_eli_key_tree, &sc->sc_ekeys_tree, &keysearch); if (ekey != NULL) { bzero(key, sizeof(*key)); + free(key, M_ELI); key = ekey; TAILQ_REMOVE(&sc->sc_ekeys_queue, key, gek_next); } else {