summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhigang Gong <zhigang.gong@intel.com>2014-09-11 13:44:16 +0800
committerZhigang Gong <zhigang.gong@intel.com>2014-09-11 13:46:21 +0800
commit9de5d17b852056cf9acb34a2747f8d86dabceb89 (patch)
tree3fe6d3fe581140a53da68e6062fa5ea24d5b8d1d
parente3715c5716d6427c0974838a0818c7f4b4ca216b (diff)
GBE: Fix a potential segfault.
And when we fail to compile a module, the fileName may be NULL, we can't access it unconditionally. Signed-off-by: Zhigang Gong <zhigang.gong@intel.com> Reviewed-by: "Yang, Rong R" <rong.r.yang@intel.com>
-rw-r--r--backend/src/backend/program.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/backend/src/backend/program.cpp b/backend/src/backend/program.cpp
index cc76493..bd194a7 100644
--- a/backend/src/backend/program.cpp
+++ b/backend/src/backend/program.cpp
@@ -114,7 +114,8 @@ namespace gbe {
cloned_module = llvm::CloneModule((llvm::Module*)module);
}
if (llvmToGen(*unit, fileName, module, optLevel, OCL_STRICT_CONFORMANCE) == false) {
- error = std::string(fileName) + " not found";
+ if (fileName)
+ error = std::string(fileName) + " not found";
return false;
}
//If unit is not valid, maybe some thing don't support by backend, introduce by some passes