From f7724af133e3ca0f5b5ec18b7afe017cb4e0ade5 Mon Sep 17 00:00:00 2001
From: foreman
Date: Tue, 16 May 2017 11:22:14 -0400
Subject: [PATCH] P4 to Git Change 1410153 by wchau@wchau_OCL_boltzmann on
2017/05/16 11:07:21
SWDEV-121587 - [OCL] Segmentation fault when program is used without built first. Fix the issue by adding sanity check for the symbol table before using it.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/platform/program.cpp#87 edit
[ROCm/clr commit: 8b44cced5511b5d8aae677248a3a719247e2d08b]
---
projects/clr/rocclr/runtime/platform/program.cpp | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/projects/clr/rocclr/runtime/platform/program.cpp b/projects/clr/rocclr/runtime/platform/program.cpp
index 979b4ccb29..f9926a83bb 100644
--- a/projects/clr/rocclr/runtime/platform/program.cpp
+++ b/projects/clr/rocclr/runtime/platform/program.cpp
@@ -38,6 +38,11 @@ Program::~Program() {
}
const Symbol* Program::findSymbol(const char* kernelName) const {
+ // avoid seg. fault if the program has not built yet
+ if (symbolTable_ == NULL) {
+ return NULL;
+ }
+
symbols_t::const_iterator it = symbolTable_->find(kernelName);
return (it == symbolTable_->end()) ? NULL : &it->second;
}