]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: Protect againist getenv returning nullptr
authorAli Maredia <amaredia@redhat.com>
Fri, 12 Feb 2016 03:27:57 +0000 (22:27 -0500)
committerAli Maredia <amaredia@redhat.com>
Fri, 15 Apr 2016 00:48:21 +0000 (20:48 -0400)
Signed-off-by: Ali Maredia <amaredia@redhat.com>
23 files changed:
src/test/common/test_blkdev.cc
src/test/compressor/test_compression_plugin.cc
src/test/compressor/test_compression_plugin_snappy.cc
src/test/compressor/test_compression_plugin_zlib.cc
src/test/compressor/test_compression_snappy.cc
src/test/compressor/test_compression_zlib.cc
src/test/erasure-code/TestErasureCode.cc
src/test/erasure-code/TestErasureCodeExample.cc
src/test/erasure-code/TestErasureCodeIsa.cc
src/test/erasure-code/TestErasureCodeJerasure.cc
src/test/erasure-code/TestErasureCodeLrc.cc
src/test/erasure-code/TestErasureCodePlugin.cc
src/test/erasure-code/TestErasureCodePluginIsa.cc
src/test/erasure-code/TestErasureCodePluginJerasure.cc
src/test/erasure-code/TestErasureCodePluginLrc.cc
src/test/erasure-code/TestErasureCodePluginShec.cc
src/test/erasure-code/TestErasureCodeShec.cc
src/test/erasure-code/TestErasureCodeShec_all.cc
src/test/erasure-code/TestErasureCodeShec_arguments.cc
src/test/erasure-code/TestErasureCodeShec_thread.cc
src/test/erasure-code/ceph_erasure_code.cc
src/test/erasure-code/ceph_erasure_code_non_regression.cc
src/test/librados_test_stub/TestClassHandler.cc

index a228c06f224b0dcca16252d40c59ab3a2ab39994..b2379eb929c7797c23729d504de6a7dc4010ea0c 100644 (file)
@@ -22,15 +22,16 @@ TEST(blkdev, get_block_device_base) {
   for (int i=0; i<2; ++i) {
     string root;
     if (i == 0) {
-      string CEPH_ROOT = getenv("CEPH_ROOT");
-      root = CEPH_ROOT + "/src/test/common/test_blkdev_sys_block";
+      const char* env = getenv("CEPH_ROOT");
+      ASSERT_NE(env, nullptr) << "Environment Variable CEPH_ROOT not found!";
+      root = string(env) + "/src/test/common/test_blkdev_sys_block";
     }
     set_block_device_sandbox_dir(root.c_str());
 
     // work backwards
     sprintf(buf, "%s/sys/block", root.c_str());
     DIR *dir = opendir(buf);
-    ASSERT_TRUE(dir);
+    ASSERT_NE(dir, nullptr);
     while (!::readdir_r(dir, reinterpret_cast<struct dirent*>(buf), &de)) {
       if (!de)
        break;
index 32e4ba81513addec9ae48763d2c1d1731b21ee75..45cffafaf318a7073fc5cf3053b283558b9d2c2a 100644 (file)
@@ -27,7 +27,8 @@
 
 TEST(CompressionPlugin, all)
 {
-  string directory = getenv("CEPH_LIB");
+  const char* env = getenv("CEPH_LIB");
+  std::string directory(env ? env : "lib");
   CompressorRef compressor;
   PluginRegistry *reg = g_ceph_context->get_plugin_registry();
   EXPECT_TRUE(reg);
@@ -53,7 +54,8 @@ int main(int argc, char **argv) {
   global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   common_init_finish(g_ceph_context);
 
-  string directory = getenv("CEPH_LIB");
+  const char* env = getenv("CEPH_LIB");
+  string directory(env ? env : "lib");
   string mkdir_compressor = "mkdir -p " + directory + "/compressor";
   int r = system(mkdir_compressor.c_str());
   (void)r;
index 21537e83a6b18eed6d80533f65c6ba63d055b1f3..9e733f4396fcb00cfdbd5ac89697c5a04c502563 100644 (file)
@@ -38,7 +38,8 @@ int main(int argc, char **argv) {
   global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   common_init_finish(g_ceph_context);
 
-  string directory = getenv("CEPH_LIB");
+  const char* env = getenv("CEPH_LIB");
+  std::string directory(env ? env : "lib");
   string mkdir_compressor = "mkdir -p " + directory + "/compressor";
   int r = system(mkdir_compressor.c_str());
   (void)r;
index 0e956a1317b13955c7f2638e9cc93ec2ec43ee5c..5af5d14aa3c08372fa13c9762d6317406d5f5c30 100644 (file)
@@ -37,12 +37,18 @@ int main(int argc, char **argv) {
   global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   common_init_finish(g_ceph_context);
 
-  int r = system("mkdir -p .libs/compressor");
+  const char* env = getenv("CEPH_LIB");
+  string directory(env ? env : "lib");
+  string mkdir_compressor = "mkdir -p " + directory + "/compressor";
+  int r = system(mkdir_compressor.c_str());
   (void)r;
-  r = system("cp .libs/libceph_zlib.so* .libs/compressor/");
+
+  string cp_libceph_zlib = "cp " + directory + "/libceph_zlib.so* " + directory + "/compressor/";
+  r = system(cp_libceph_zlib.c_str());
   (void)r;
 
-  g_conf->set_val("plugin_dir", ".libs", false, false);
+  g_conf->set_val("plugin_dir", directory, false, false);
+
 
   ::testing::InitGoogleTest(&argc, argv);
   return RUN_ALL_TESTS();
index 37ddbf3b6a82329f1718db3ec76fc1638e71f878..bbd315cf308879503f92b136874f1a084172df79 100644 (file)
@@ -77,7 +77,8 @@ int main(int argc, char **argv) {
   global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   common_init_finish(g_ceph_context);
 
-  string directory = getenv("CEPH_LIB");
+  const char* env = getenv("CEPH_LIB");
+  string directory(env ? env : "lib");
   g_conf->set_val("plugin_dir", directory, false, false);
 
   ::testing::InitGoogleTest(&argc, argv);
index 0b5248616e9f8bf305e61259292680da27b50c55..6ba64452f9ba783d380af02d31ecd042902eeb83 100644 (file)
@@ -15,6 +15,7 @@
  */
 
 #include <errno.h>
+#include <stdlib.h>
 #include <string.h>
 #include <gtest/gtest.h>
 #include "global/global_init.h"
@@ -68,7 +69,9 @@ int main(int argc, char **argv) {
   global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   common_init_finish(g_ceph_context);
 
-  g_conf->set_val("compression_dir", ".libs", false, false);
+  const char* env = getenv("CEPH_LIB");
+  string directory(env ? env : "lib");
+  g_conf->set_val("compression_dir", directory, false, false);
 
   ::testing::InitGoogleTest(&argc, argv);
   return RUN_ALL_TESTS();
index 38b16d2a1af1b284b88e7fd80d81a507c8269889..56759c4af1899c9a660744f07c434bc449187453 100644 (file)
@@ -161,7 +161,8 @@ int main(int argc, char **argv)
   global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   common_init_finish(g_ceph_context);
 
-  string directory = getenv("CEPH_LIB");
+  const char* env = getenv("CEPH_LIB");
+  string directory(env ? env : "lib");
   g_conf->set_val("erasure_code_dir", directory, false, false);
 
   ::testing::InitGoogleTest(&argc, argv);
index b2657cad5dbeb3f81f4af951dd26ab00f4a9e140..eff590f479c7e026f4b1a6c50ac843c2a82b991e 100644 (file)
@@ -241,8 +241,9 @@ int main(int argc, char **argv) {
   global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   common_init_finish(g_ceph_context);
 
-  char *CEPH_LIB = getenv("CEPH_LIB");
-  g_conf->set_val("erasure_code_dir", CEPH_LIB, false, false);
+  const char* env = getenv("CEPH_LIB");
+  string directory(env ? env : "lib");
+  g_conf->set_val("erasure_code_dir", directory, false, false);
 
   ::testing::InitGoogleTest(&argc, argv);
   return RUN_ALL_TESTS();
index 83524908a58a8415f6308d1cca99f25fdafdb929..9c01e951c681766ce0a31542bd0d289e2d1d456b 100644 (file)
@@ -963,7 +963,8 @@ int main(int argc, char **argv)
   global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   common_init_finish(g_ceph_context);
 
-  string directory = getenv("CEPH_LIB");
+  const char* env = getenv("CEPH_LIB");
+  string directory(env ? env : "lib");
   g_conf->set_val("erasure_code_dir", directory, false, false);
 
   ::testing::InitGoogleTest(&argc, argv);
index 33ae20d8e83511e261f7ba5ce76b01a2078f7212..52d7c685e840b96aa4942a78ca40e4cc53997c7e 100644 (file)
@@ -365,7 +365,8 @@ int main(int argc, char **argv)
   global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   common_init_finish(g_ceph_context);
 
-  string directory = getenv("CEPH_LIB");
+  const char* env = getenv("CEPH_LIB");
+  string directory(env ? env : "lib");
   g_conf->set_val("erasure_code_dir", directory, false, false);
 
   ::testing::InitGoogleTest(&argc, argv);
index 955ec7f7688376eb7a3cc08f4f741e032bd9d33c..b9452310af669d11768c3d78ef303aaa5c23f584 100644 (file)
@@ -402,7 +402,8 @@ TEST(ErasureCodeLrc, layers_init)
     ErasureCodeLrc lrc(g_conf->erasure_code_dir);
     ErasureCodeProfile profile;
 
-    string directory = getenv("CEPH_LIB");
+    const char* env = getenv("CEPH_LIB");
+    string directory(env ? env : "lib");
     string description_string = 
       "[ " 
       "  [ \"_cDDD_cDD_\", \"directory=" + directory + "\" ]," 
@@ -915,7 +916,8 @@ int main(int argc, char **argv)
   global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   common_init_finish(g_ceph_context);
 
-  string directory = getenv("CEPH_LIB");
+  const char* env = getenv("CEPH_LIB");
+  string directory(env ? env : "lib");
   g_conf->set_val("erasure_code_dir", directory, false, false);
 
   ::testing::InitGoogleTest(&argc, argv);
index 0e1cd57b1d893709261ab064f694b257841ebb6d..45f1b28168077526f19303beadb12d0d947dfb0c 100644 (file)
@@ -83,7 +83,8 @@ TEST_F(ErasureCodePluginRegistryTest, factory_mutex) {
 TEST_F(ErasureCodePluginRegistryTest, all)
 {
   ErasureCodeProfile profile;
-  string directory = getenv("CEPH_LIB");
+  const char* env = getenv("CEPH_LIB");
+  string directory(env ? env : "lib");
   ErasureCodeInterfaceRef erasure_code;
   ErasureCodePluginRegistry &instance = ErasureCodePluginRegistry::instance();
   EXPECT_FALSE(erasure_code);
@@ -132,7 +133,8 @@ int main(int argc, char **argv) {
   global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   common_init_finish(g_ceph_context);
 
-  string directory = getenv("CEPH_LIB");
+  const char* env = getenv("CEPH_LIB");
+  string directory(env ? env : "lib");
   g_conf->set_val("erasure_code_dir", directory, false, false);
 
   ::testing::InitGoogleTest(&argc, argv);
index 6af000318561d994f0c730aa7b3de676fef48af4..1044017df9565937fa7dd6d62ec90f847fd411a5 100644 (file)
@@ -60,7 +60,8 @@ int main(int argc, char **argv)
   global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   common_init_finish(g_ceph_context);
 
-  string directory = getenv("CEPH_LIB");
+  const char* env = getenv("CEPH_LIB");
+  string directory(env ? env : "lib");
   g_conf->set_val("erasure_code_dir", directory, false, false);
 
   ::testing::InitGoogleTest(&argc, argv);
index 1a857913fbe7cd6d62cfc8e963017fd5f51b4eef..f43f296b1fca70d173aaa191c5b30a5bc58b46fe 100644 (file)
@@ -257,7 +257,8 @@ int main(int argc, char **argv)
   global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   common_init_finish(g_ceph_context);
 
-  string directory = getenv("CEPH_LIB");
+  const char* env = getenv("CEPH_LIB");
+  string directory(env ? env : "lib");
   g_conf->set_val("erasure_code_dir", directory, false, false);
 
   ::testing::InitGoogleTest(&argc, argv);
index 21fbd803bb4569e91657e3e0cab5ce0e91f44c99..f88d1cd4fa35581e0b2d4b58e087922e2a1fcc51 100644 (file)
@@ -48,7 +48,8 @@ int main(int argc, char **argv)
   global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   common_init_finish(g_ceph_context);
 
-  string directory = getenv("CEPH_LIB");
+  const char* env = getenv("CEPH_LIB");
+  string directory(env ? env : "lib");
   g_conf->set_val("erasure_code_dir", directory, false, false);
 
   ::testing::InitGoogleTest(&argc, argv);
index cd3adbddc636d90a172bfdf73c3f1648e6d6152d..39d552b0111ce8bd8edd6e9aac1f35550a79513d 100644 (file)
@@ -253,7 +253,8 @@ int main(int argc, char **argv)
   global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   common_init_finish(g_ceph_context);
 
-  string directory = getenv("CEPH_LIB");
+  const char* env = getenv("CEPH_LIB");
+  string directory(env ? env : "lib");
   g_conf->set_val("erasure_code_dir", directory, false, false);
 
   ::testing::InitGoogleTest(&argc, argv);
index 7cdde7096c1a6ad0c485c4463493cea512f6d36f..8da9e69850ae6660f8d55cded1c0eddeee8a894e 100644 (file)
@@ -2675,7 +2675,8 @@ int main(int argc, char **argv)
   global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   common_init_finish(g_ceph_context);
 
-  string directory = getenv("CEPH_LIB");
+  const char* env = getenv("CEPH_LIB");
+  string directory(env ? env : "lib");
   g_conf->set_val("erasure_code_dir", directory, false, false);
 
   ::testing::InitGoogleTest(&argc, argv);
index 2e19351d662b47f9d8be3c3a401516a370bd4d7b..c8715ebe516e6a131e25e53e2e29074f92629772 100644 (file)
@@ -297,7 +297,8 @@ int main(int argc, char **argv)
   global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   common_init_finish(g_ceph_context);
 
-  string directory = getenv("CEPH_LIB");
+  const char* env = getenv("CEPH_LIB");
+  string directory(env ? env : "lib");
   g_conf->set_val("erasure_code_dir", directory, false, false);
 
   ::testing::InitGoogleTest(&argc, argv);
index b9b5653ad8987a78d1230925e76dd1ad96881e83..ea68ab24b0bcc77f0567289f152163bba9fcfdd6 100644 (file)
@@ -396,8 +396,9 @@ int main(int argc, char **argv)
   global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   common_init_finish(g_ceph_context);
 
-  char *CEPH_LIB = getenv("CEPH_LIB");
-  g_conf->set_val("erasure_code_dir", CEPH_LIB, false, false);
+  const char* env = getenv("CEPH_LIB");
+  std::string directory(env ? env : "lib");
+  g_conf->set_val("erasure_code_dir", directory, false, false);
 
   ::testing::InitGoogleTest(&argc, argv);
 
index 34b7bb735160691edcb466e21a65573c2724ab19..3adab597b872535c66a07200df509b8bea8d564c 100644 (file)
@@ -94,8 +94,9 @@ int main(int argc, char **argv)
   global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   common_init_finish(g_ceph_context);
 
-  char *CEPH_LIB = getenv("CEPH_LIB");
-  g_conf->set_val("erasure_code_dir", CEPH_LIB, false, false);
+  const char* env = getenv("CEPH_LIB");
+  std::string directory(env ? env : "lib");
+  g_conf->set_val("erasure_code_dir", directory, false, false);
 
   ::testing::InitGoogleTest(&argc, argv);
   return RUN_ALL_TESTS();
index f5e96126ecaeab2867f8bc5caf3da0a909dc04db..aaa4304b9b75f23d324aee8af87d72015a6a733a 100644 (file)
@@ -88,7 +88,8 @@ int ErasureCodeCommand::setup(int argc, char** argv) {
     CINIT_FLAG_NO_DEFAULT_CONFIG_FILE);
   common_init_finish(g_ceph_context);
   g_ceph_context->_conf->apply_changes(NULL);
-  string directory = getenv("CEPH_LIB");
+  const char* env = getenv("CEPH_LIB");
+  string directory(env ? env : "lib");
   g_conf->set_val("erasure_code_dir", directory, false, false);
 
   if (vm.count("help")) {
index eeeeb9f60b0964e27770425f4580a231ff950b5e..7b0fa2fe72d338364607b0f1791fd8de9f2862bd 100644 (file)
@@ -100,7 +100,8 @@ int ErasureCodeNonRegression::setup(int argc, char** argv) {
     CINIT_FLAG_NO_DEFAULT_CONFIG_FILE);
   common_init_finish(g_ceph_context);
   g_ceph_context->_conf->apply_changes(NULL);
-  string libs_dir = getenv("CEPH_LIB");
+  const char* env = getenv("CEPH_LIB");
+  std::string libs_dir(env ? env : "lib");
   g_conf->set_val("erasure_code_dir", libs_dir, false, false);
 
   if (vm.count("help")) {
index 22afad649faae53101d971add9f96fffdf182695..ea595ab1247a0e61adf55b355e1bf3475873f263 100644 (file)
@@ -45,7 +45,8 @@ void TestClassHandler::open_class(const std::string& name,
 void TestClassHandler::open_all_classes() {
   assert(m_class_handles.empty());
 
-  string CEPH_LIB = getenv("CEPH_LIB");
+  const char* env = getenv("CEPH_LIB");
+  std::string CEPH_LIB(env ? env : "lib");
   DIR *dir = ::opendir(CEPH_LIB.c_str());
   if (dir == NULL) {
     assert(false);;