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:48:13 +0800
commitd645da191c462994e1fbb0470ddadbad4367789b (patch)
tree12501c363e1e6f739f0db00687b758088c117f36
parentcc0dc02ebd31346c37e976194597c1c5d8562025 (diff)
downloadbeignet-d645da191c462994e1fbb0470ddadbad4367789b.tar.gz
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 22c6b0db..fc3425b8 100644
--- a/backend/src/backend/program.cpp
+++ b/backend/src/backend/program.cpp
@@ -113,7 +113,8 @@ namespace gbe {
cloned_module = llvm::CloneModule((llvm::Module*)module);
}
if (llvmToGen(*unit, fileName, module, optLevel) == 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