diff options
author | gnl21 <gleese@broadcom.com> | 2022-03-21 17:59:06 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-21 17:59:06 +0000 |
commit | e754c9081da75b6451e6022ecc13ce3ee5bf0f6e (patch) | |
tree | 373f6094acf016ee33ab7f7841be36a7de2d2322 | |
parent | 4b1c3c1a41c2a26f2a6882cb2b5f3484a6713443 (diff) | |
download | amber-e754c9081da75b6451e6022ecc13ce3ee5bf0f6e.tar.gz |
Check error return when pushing descriptors (#980)
Pipeline::SendDescriptorDataToDeviceIfNeeded was not checking the error
return when initializing transfer buffers, which can lead to later code
attempting to use invalid buffers and crashing.
-rw-r--r-- | src/vulkan/pipeline.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/vulkan/pipeline.cc b/src/vulkan/pipeline.cc index df301e4..8cd4995 100644 --- a/src/vulkan/pipeline.cc +++ b/src/vulkan/pipeline.cc @@ -430,7 +430,9 @@ Result Pipeline::SendDescriptorDataToDeviceIfNeeded() { "Vulkan: Pipeline::SendDescriptorDataToDeviceIfNeeded() " "descriptor's transfer resource is not found"); } - descriptor_transfer_resources_[buffer]->Initialize(); + Result r = descriptor_transfer_resources_[buffer]->Initialize(); + if (!r.IsSuccess()) + return r; } // Note that if a buffer for a descriptor is host accessible and |