]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librbd: potential nullptr dereference in ManagedLock 12846/head
authorJason Dillaman <dillaman@redhat.com>
Mon, 9 Jan 2017 22:40:42 +0000 (17:40 -0500)
committerJason Dillaman <dillaman@redhat.com>
Mon, 9 Jan 2017 22:40:42 +0000 (17:40 -0500)
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/librbd/ManagedLock.cc

index 17a0fb81142e2fe9e43502675da4f9289fa982c5..c5dead5961704693b8a2ee8854f7378b46c08dd6 100644 (file)
@@ -105,7 +105,9 @@ void ManagedLock<I>::acquire_lock(Context *on_acquired) {
     }
   }
 
-  on_acquired->complete(r);
+  if (on_acquired != nullptr) {
+    on_acquired->complete(r);
+  }
 }
 
 template <typename I>
@@ -122,7 +124,9 @@ void ManagedLock<I>::try_acquire_lock(Context *on_acquired) {
     }
   }
 
-  on_acquired->complete(r);
+  if (on_acquired != nullptr) {
+    on_acquired->complete(r);
+  }
 }
 
 template <typename I>
@@ -139,7 +143,9 @@ void ManagedLock<I>::release_lock(Context *on_released) {
     }
   }
 
-  on_released->complete(r);
+  if (on_released != nullptr) {
+    on_released->complete(r);
+  }
 }
 
 template <typename I>