]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librbd/crypto: fix bad return checks from libcryptsetup 40705/head
authorOr Ozeri <oro@il.ibm.com>
Thu, 8 Apr 2021 17:13:49 +0000 (20:13 +0300)
committerOr Ozeri <oro@il.ibm.com>
Wed, 21 Apr 2021 11:16:28 +0000 (14:16 +0300)
This commit fixes the return checks for libcryptsetup functions
that may return non-zero success codes.

Fixes: https://tracker.ceph.com/issues/50461
Signed-off-by: Or Ozeri <oro@il.ibm.com>
src/librbd/crypto/luks/Header.cc

index 6d00074efcf80157b98bb28f25019f44dade1104..ee8c8b555240bc0859e98e253b215ddcf6f4eeb6 100644 (file)
@@ -183,7 +183,7 @@ int Header::add_keyslot(const char* passphrase, size_t passphrase_size) {
 
   auto r = crypt_keyslot_add_by_volume_key(
           m_cd, CRYPT_ANY_SLOT, NULL, 0, passphrase, passphrase_size);
-  if (r != 0) {
+  if (r < 0) {
     lderr(m_cct) << "crypt_keyslot_add_by_volume_key failed: "
                  << cpp_strerror(r) << dendl;
     return r;
@@ -222,7 +222,7 @@ int Header::read_volume_key(const char* passphrase, size_t passphrase_size,
   auto r = crypt_volume_key_get(
           m_cd, CRYPT_ANY_SLOT, volume_key, volume_key_size, passphrase,
           passphrase_size);
-  if (r != 0) {
+  if (r < 0) {
     lderr(m_cct) << "crypt_volume_key_get failed: " << cpp_strerror(r)
                  << dendl;
     return r;