From 1612b562af4620787fdacf608e655203d7a45f66 Mon Sep 17 00:00:00 2001 From: Nedko Arnaudov Date: Mon, 16 May 2011 01:40:57 +0300 Subject: [PATCH] fix a memory leak after strdup() failure --- daemon/recent_store.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/daemon/recent_store.c b/daemon/recent_store.c index 8fc09d7f..218c4323 100644 --- a/daemon/recent_store.c +++ b/daemon/recent_store.c @@ -2,7 +2,7 @@ /* * LADI Session Handler (ladish) * - * Copyright (C) 2010 Nedko Arnaudov + * Copyright (C) 2010, 2011 Nedko Arnaudov * ************************************************************************** * This file contains implementation of the recent items store @@ -137,6 +137,15 @@ ladish_recent_store_load( if (store_ptr->items[i] == NULL) { log_error("strdup(\"%s\") failed.", temp_ptr); + + /* free the already duplicated items */ + while (i > 0) + { + i--; + free(store_ptr->items[i]); + store_ptr->items[i] = NULL; + } + goto free; }