]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fix sts memory leak 43349/head
authoryuliyang_yewu <yuliyang_yewu@cmss.chinamobile.com>
Tue, 17 Aug 2021 03:04:02 +0000 (11:04 +0800)
committerCory Snyder <csnyder@iland.com>
Wed, 29 Sep 2021 14:39:18 +0000 (10:39 -0400)
fix https://tracker.ceph.com/issues/52290

Signed-off-by: yuliyang_yewu <yuliyang_yewu@cmss.chinamobile.com>
(cherry picked from commit ef921bcdaa78d33ed0611a60ec58826d8e6ccb45)

src/rgw/rgw_rest_s3.cc
src/rgw/rgw_sts.cc

index ac7d04098c0fc63650ad5675c863f6047f6d6a94..52071cf09a5938deb8f5c4e0faacf2fd024a4998 100644 (file)
@@ -5839,7 +5839,7 @@ rgw::auth::s3::STSEngine::get_session_token(const DoutPrefixProvider* dpp, const
     return -EINVAL;
   }
   string error;
-  auto* keyhandler = cryptohandler->get_key_handler(secret, error);
+  std::unique_ptr<CryptoKeyHandler> keyhandler(cryptohandler->get_key_handler(secret, error));
   if (! keyhandler) {
     return -EINVAL;
   }
index 9b28eca67802f27aada5e81bc1d487ef45c7ba79..050c0a10ae559e79d28547f0a9071fc327e99c14 100644 (file)
@@ -78,7 +78,7 @@ int Credentials::generateCredentials(CephContext* cct,
     return ret;
   }
   string error;
-  auto* keyhandler = cryptohandler->get_key_handler(secret, error);
+  std::unique_ptr<CryptoKeyHandler> keyhandler(cryptohandler->get_key_handler(secret, error));
   if (! keyhandler) {
     return -EINVAL;
   }