diff options
author | Zhigang Gong <zhigang.gong@intel.com> | 2014-09-11 13:44:16 +0800 |
---|---|---|
committer | Zhigang Gong <zhigang.gong@intel.com> | 2014-09-11 13:48:13 +0800 |
commit | d645da191c462994e1fbb0470ddadbad4367789b (patch) | |
tree | 12501c363e1e6f739f0db00687b758088c117f36 | |
parent | cc0dc02ebd31346c37e976194597c1c5d8562025 (diff) | |
download | beignet-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.cpp | 3 |
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 |