Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Mours <pmours@nvidia.com>2019-11-28 19:06:56 +0300
committerPatrick Mours <pmours@nvidia.com>2019-11-28 19:07:14 +0300
commit8caeae9f40abe942030a5b4c269a3e4b1a601021 (patch)
treebf986b0956e2e39a1c3e4a98c7ebb05876aa9793 /intern/cycles
parent627a34463511647e9a697ebd62a03478ec75a7d1 (diff)
Fix crash if OptiX context creation fails in Cycles
When encountering an error during context creation, the "OptiXDevice" constructor aborts early. This means the "cuda_stream" vector is never resized and the destructor iterated over non-existent data.
Diffstat (limited to 'intern/cycles')
-rw-r--r--intern/cycles/device/device_optix.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/intern/cycles/device/device_optix.cpp b/intern/cycles/device/device_optix.cpp
index 3ef954ab27f..ae3ab7e1fc2 100644
--- a/intern/cycles/device/device_optix.cpp
+++ b/intern/cycles/device/device_optix.cpp
@@ -290,8 +290,8 @@ class OptiXDevice : public Device {
optixPipelineDestroy(pipelines[i]);
// Destroy launch streams
- for (int i = 0; i < info.cpu_threads; ++i)
- cuStreamDestroy(cuda_stream[i]);
+ for (CUstream stream : cuda_stream)
+ cuStreamDestroy(stream);
// Destroy OptiX and CUDA context
optixDeviceContextDestroy(context);