about summary refs log tree commit diff
path: root/llvm_mode/afl-llvm-lto-instrim.so.cc
diff options
context:
space:
mode:
Diffstat (limited to 'llvm_mode/afl-llvm-lto-instrim.so.cc')
-rw-r--r--llvm_mode/afl-llvm-lto-instrim.so.cc24
1 files changed, 16 insertions, 8 deletions
diff --git a/llvm_mode/afl-llvm-lto-instrim.so.cc b/llvm_mode/afl-llvm-lto-instrim.so.cc
index 9fd3e3ec..f862e091 100644
--- a/llvm_mode/afl-llvm-lto-instrim.so.cc
+++ b/llvm_mode/afl-llvm-lto-instrim.so.cc
@@ -346,11 +346,15 @@ struct InsTrimLTO : public ModulePass {
                   if (auto *Var =
                           dyn_cast<GlobalVariable>(Ptr->getOperand(0))) {
 
-                    if (auto *Array = dyn_cast<ConstantDataArray>(
-                            Var->getInitializer())) {
+                    if (Var->hasInitializer()) {
 
-                      HasStr2 = true;
-                      Str2 = Array->getAsString().str();
+                      if (auto *Array = dyn_cast<ConstantDataArray>(
+                              Var->getInitializer())) {
+
+                        HasStr2 = true;
+                        Str2 = Array->getAsString().str();
+
+                      }
 
                     }
 
@@ -419,11 +423,15 @@ struct InsTrimLTO : public ModulePass {
                   if (auto *Var =
                           dyn_cast<GlobalVariable>(Ptr->getOperand(0))) {
 
-                    if (auto *Array = dyn_cast<ConstantDataArray>(
-                            Var->getInitializer())) {
+                    if (Var->hasInitializer()) {
+
+                      if (auto *Array = dyn_cast<ConstantDataArray>(
+                              Var->getInitializer())) {
+
+                        HasStr1 = true;
+                        Str1 = Array->getAsString().str();
 
-                      HasStr1 = true;
-                      Str1 = Array->getAsString().str();
+                      }
 
                     }