From: Marco van Wieringen Date: Fri, 3 Jun 2011 20:03:43 +0000 (+0200) Subject: Fix small memory leak when job get canceled. X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=cbee15ae2bc87e91818dd6b21b6d4ef554734e80;p=bacula%2Fbacula Fix small memory leak when job get canceled. --- diff --git a/bacula/src/dird/verify.c b/bacula/src/dird/verify.c index e325c23d59..386fcb0036 100644 --- a/bacula/src/dird/verify.c +++ b/bacula/src/dird/verify.c @@ -560,7 +560,7 @@ void get_attributes_and_compare_to_catalog(JCR *jcr, JobId_t JobId) char Opts_Digest[MAXSTRING]; /* Verify Opts or MD5/SHA1 digest */ if (job_canceled(jcr)) { - return; + goto bail_out; } fname = check_pool_memory_size(fname, fd->msglen); jcr->fname = check_pool_memory_size(jcr->fname, fd->msglen); @@ -569,7 +569,7 @@ void get_attributes_and_compare_to_catalog(JCR *jcr, JobId_t JobId) fname)) != 3) { Jmsg3(jcr, M_FATAL, 0, _("birdmsglen, fd->msg); - return; + goto bail_out; } /* * We read the Options or Signature into fname @@ -740,7 +740,7 @@ void get_attributes_and_compare_to_catalog(JCR *jcr, JobId_t JobId) if (jcr->FileIndex != (uint32_t)file_index) { Jmsg2(jcr, M_FATAL, 0, _("MD5/SHA1 index %d not same as attributes %d\n"), file_index, jcr->FileIndex); - return; + goto bail_out; } if (do_Digest != CRYPTO_DIGEST_NONE) { db_escape_string(jcr, jcr->db, buf, Opts_Digest, strlen(Opts_Digest)); @@ -759,7 +759,7 @@ void get_attributes_and_compare_to_catalog(JCR *jcr, JobId_t JobId) berrno be; Jmsg2(jcr, M_FATAL, 0, _("bdirdfn_printed) { jcr->setJobStatus(JS_Differences); } + +bail_out: free_pool_memory(fname); }