]> git.sur5r.net Git - bacula/bacula/commitdiff
Fix last_jobs free again
authorKern Sibbald <kern@sibbald.com>
Thu, 1 Apr 2004 19:19:54 +0000 (19:19 +0000)
committerKern Sibbald <kern@sibbald.com>
Thu, 1 Apr 2004 19:19:54 +0000 (19:19 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1171 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/lib/jcr.c

index 2622d335a82d6c3678bafa09f9a9687b69849d62..513aed12424aee489e03885822bcbdbd066a121b 100755 (executable)
@@ -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;