From: Kern Sibbald Date: Thu, 1 Apr 2004 19:19:54 +0000 (+0000) Subject: Fix last_jobs free again X-Git-Tag: Release-1.34.0~13 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;ds=inline;h=3f59c97fa7c388dd54fd9cdae7a0825cbaf7b209;p=bacula%2Fbacula Fix last_jobs free again git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1171 91ce42f0-d328-0410-95d8-f526ca767f89 --- 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;