]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librbd/api: address C_SaferCond object leak
authorPrasanna Kumar Kalever <prasanna.kalever@redhat.com>
Fri, 14 Mar 2025 08:56:12 +0000 (14:26 +0530)
committerPrasanna Kumar Kalever <prasanna.kalever@redhat.com>
Thu, 24 Apr 2025 15:56:34 +0000 (21:26 +0530)
Credits to Ilya Dryomov <idryomov@gmail.com> for the fix.

Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
src/librbd/api/Mirror.cc

index 73f7fa9bb4b1ed1588f1d694ac0794fba6d4efc0..8de1b59821a25a20b5d812a01427975543db007f 100644 (file)
@@ -2519,8 +2519,8 @@ int prepare_group_images(IoCtx& group_ioctx,
     ImageCtx *ictx = (*image_ctxs)[i];
     std::shared_lock owner_lock{ictx->owner_lock};
 
-    on_finish = new C_SaferCond;
     if (ictx->exclusive_lock != nullptr) {
+      on_finish = new C_SaferCond;
       ictx->exclusive_lock->acquire_lock(on_finish);
       on_finishes[i] = on_finish;
     }