[Bf-blender-cvs] [8caeae9f40a] master: Fix crash if OptiX context creation fails in Cycles
Patrick Mours
noreply at git.blender.org
Thu Nov 28 17:07:29 CET 2019
Commit: 8caeae9f40abe942030a5b4c269a3e4b1a601021
Author: Patrick Mours
Date: Thu Nov 28 17:06:56 2019 +0100
Branches: master
https://developer.blender.org/rB8caeae9f40abe942030a5b4c269a3e4b1a601021
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.
===================================================================
M intern/cycles/device/device_optix.cpp
===================================================================
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);
More information about the Bf-blender-cvs
mailing list