]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
Add missing jcr's reference counter decrement in bscan.
authorMichal Rakowski <michal.rakowski@baculasystems.com>
Thu, 5 Nov 2020 12:57:21 +0000 (13:57 +0100)
committerEric Bollengier <eric@baculasystems.com>
Thu, 24 Mar 2022 08:02:58 +0000 (09:02 +0100)
Without it, jcr was not freed at all and the the 'bscan_free_jcr' couldn't be called.
There is probably more work around that, since each 'get_jcr_by_session'
call increases reference counter and it's not always decreased after
that.

bacula/src/stored/bscan.c

index 5d5857829e4685934a268954ef64fde390480eb2..10157b892e9f1173c65b7787f9ab9e58317c5706 100644 (file)
@@ -655,6 +655,7 @@ static bool record_cb(DCR *dcr, DEV_RECORD *rec)
             create_jobmedia_record(db, mjcr);
          }
          free_dcr(mjcr->read_dcr);
+         mjcr->dec_use_count(); /* Decrease reference counter increased by get_jcr_by_session call */
          free_jcr(mjcr);
 
          break;