ocl: fix null pointer access crash
This commit is contained in:
parent
91c1d7697f
commit
92b35e6758
@ -1973,6 +1973,7 @@ struct Context::Impl
|
||||
{
|
||||
if (prefix.empty())
|
||||
{
|
||||
CV_Assert(!devices.empty());
|
||||
const Device& d = devices[0];
|
||||
prefix = d.vendorName() + "--" + d.name() + "--" + d.driverVersion();
|
||||
// sanitize chars
|
||||
@ -3222,6 +3223,8 @@ struct Program::Impl
|
||||
refcount = 1;
|
||||
const Context ctx = Context::getDefault();
|
||||
Device device = ctx.device(0);
|
||||
if (ctx.ptr() == NULL || device.ptr() == NULL)
|
||||
return;
|
||||
if (device.isAMD())
|
||||
buildflags += " -D AMD_DEVICE";
|
||||
else if (device.isIntel())
|
||||
@ -3232,6 +3235,7 @@ struct Program::Impl
|
||||
bool compile(const Context& ctx, String& errmsg)
|
||||
{
|
||||
#if OPENCV_HAVE_FILESYSTEM_SUPPORT
|
||||
CV_Assert(ctx.getImpl());
|
||||
OpenCLBinaryCacheConfigurator& config = OpenCLBinaryCacheConfigurator::getSingletonInstance();
|
||||
const std::string base_dir = config.prepareCacheDirectoryForContext(ctx.getImpl()->getPrefixString());
|
||||
const std::string fname = base_dir.empty() ? std::string() :
|
||||
|
||||
Loading…
Reference in New Issue
Block a user