From 3f59c97fa7c388dd54fd9cdae7a0825cbaf7b209 Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Thu, 1 Apr 2004 19:19:54 +0000 Subject: [PATCH] Fix last_jobs free again git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1171 91ce42f0-d328-0410-95d8-f526ca767f89 --- bacula/src/lib/jcr.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/bacula/src/lib/jcr.c b/bacula/src/lib/jcr.c index 2622d335a8..513aed1242 100755 --- a/bacula/src/lib/jcr.c +++ b/bacula/src/lib/jcr.c @@ -63,7 +63,9 @@ void term_last_jobs_list() { if (last_jobs) { while (!last_jobs->empty()) { - free(last_jobs->first()); + void *je = last_jobs->first(); + last_jobs->remove(je); + free(je); } delete last_jobs; last_jobs = NULL; @@ -100,7 +102,9 @@ void read_last_jobs_list(int fd, uint64_t addr) } last_jobs->append(je); if (last_jobs->size() > max_last_jobs) { - last_jobs->remove(last_jobs->first()); + je = (struct s_last_job *)last_jobs->first(); + last_jobs->remove(je); + free(je); } } } @@ -275,7 +279,9 @@ static void free_common_jcr(JCR *jcr) } last_jobs->append(je); if (last_jobs->size() > max_last_jobs) { - last_jobs->remove(last_jobs->first()); + je = (struct s_last_job *)last_jobs->first(); + last_jobs->remove(je); + free(je); } } break; -- 2.39.5