From 9c4f7c2ab35c9d405e0533133f8e0a5966c1acc1 Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Wed, 26 Aug 2009 18:56:54 +0200 Subject: [PATCH] Release orphanned buffers in accurate code --- bacula/src/dird/backup.c | 10 +++++++--- bacula/technotes | 3 +++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/bacula/src/dird/backup.c b/bacula/src/dird/backup.c index 029dfa0c89..bcc02c9120 100644 --- a/bacula/src/dird/backup.c +++ b/bacula/src/dird/backup.c @@ -131,11 +131,13 @@ static int accurate_list_handler(void *ctx, int num_fields, char **row) bool send_accurate_current_files(JCR *jcr) { POOL_MEM buf; + POOLMEM *jobids; + POOLMEM *nb; if (!jcr->accurate || job_canceled(jcr) || jcr->get_JobLevel()==L_FULL) { return true; } - POOLMEM *jobids = get_pool_memory(PM_FNAME); + jobids = get_pool_memory(PM_FNAME); db_accurate_get_jobids(jcr, jcr->db, &jcr->jr, jobids); @@ -148,7 +150,7 @@ bool send_accurate_current_files(JCR *jcr) Jmsg(jcr, M_INFO, 0, _("Sending Accurate information.\n")); } /* to be able to allocate the right size for htable */ - POOLMEM *nb = get_pool_memory(PM_FNAME); + nb = get_pool_memory(PM_FNAME); *nb = 0; /* clear buffer */ Mmsg(buf, "SELECT sum(JobFiles) FROM Job WHERE JobId IN (%s)",jobids); db_sql_query(jcr->db, buf.c_str(), db_get_int_handler, nb); @@ -156,7 +158,9 @@ bool send_accurate_current_files(JCR *jcr) jcr->file_bsock->fsend("accurate files=%s\n", nb); if (!db_open_batch_connexion(jcr, jcr->db)) { - Jmsg0(jcr, M_FATAL, 0, "Can't get dedicate sql connexion"); + free_pool_memory(jobids); + free_pool_memory(nb); + Jmsg0(jcr, M_FATAL, 0, "Can't get batch sql connexion"); return false; } diff --git a/bacula/technotes b/bacula/technotes index 7c9fbc7ab1..a762c96650 100644 --- a/bacula/technotes +++ b/bacula/technotes @@ -2,6 +2,9 @@ General: +26Aug09 +kes Fix possible seg fault in db_get_int_handler in accurate code +kes Release orphanned buffers in accurate code. 25Aug09 kes Suppress some error messages generated after cancelling a job. This should reduce some of the unwanted error messages after -- 2.39.5