]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
common_init: fix keyring loading
authorSage Weil <sage.weil@dreamhost.com>
Wed, 30 Mar 2011 22:04:14 +0000 (15:04 -0700)
committerSage Weil <sage.weil@dreamhost.com>
Wed, 30 Mar 2011 22:04:14 +0000 (15:04 -0700)
Can't pass a NULL char* to std::string constructor.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
src/common/common_init.cc

index 7044d326c5b4a076a722104c7ecb2f34d7896a08..b09a0876eb5160855812658b9d499bf3fbfe03c6 100644 (file)
@@ -33,14 +33,12 @@ int keyring_init(md_config_t *conf)
   if (!is_supported_auth(CEPH_AUTH_CEPHX))
     return 0;
 
-  const char *filename = NULL;
-  string new_keyring;
-  if (ceph_resolve_file_search(conf->keyring, new_keyring)) {
-    filename = new_keyring.c_str();
+  int ret = 0;
+  string filename;
+  if (ceph_resolve_file_search(conf->keyring, filename)) {
+    ret = g_keyring.load(filename);
   }
 
-  int ret = g_keyring.load(filename);
-
   if (!conf->key.empty()) {
     EntityAuth ea;
     ea.key.decode_base64(conf->key);
@@ -76,11 +74,9 @@ int keyring_init(md_config_t *conf)
     ret = 0;
   }
 
-  if (ret) {
+  if (ret)
     derr << "keyring_init: failed to load " << filename << dendl;
-    return ret;
-  }
-  return 0;
+  return ret;
 }
 
 md_config_t *common_preinit(const CephInitParameters &iparams,