hwcontext_vulkan: do not use uninitialized variables on errors in CUDA code

This commit is contained in:
Lynne 2020-11-22 22:56:33 +01:00
parent ae8fc9922e
commit 10b3c9b533
No known key found for this signature in database
GPG Key ID: A2FEA5F03F034464
1 changed files with 9 additions and 10 deletions

View File

@ -2409,17 +2409,17 @@ static int vulkan_transfer_data_from_cuda(AVHWFramesContext *hwfc,
CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS s_s_par[AV_NUM_DATA_POINTERS] = { 0 };
ret = CHECK_CU(cu->cuCtxPushCurrent(cuda_dev->cuda_ctx));
if (ret < 0) {
err = AVERROR_EXTERNAL;
goto fail;
}
if (ret < 0)
return AVERROR_EXTERNAL;
dst_f = (AVVkFrame *)dst->data[0];
ret = vulkan_export_to_cuda(hwfc, src->hw_frames_ctx, dst);
if (ret < 0) {
goto fail;
CHECK_CU(cu->cuCtxPopCurrent(&dummy));
return ret;
}
dst_int = dst_f->internal;
ret = CHECK_CU(cu->cuWaitExternalSemaphoresAsync(dst_int->cu_sem, s_w_par,
@ -3120,16 +3120,15 @@ static int vulkan_transfer_data_to_cuda(AVHWFramesContext *hwfc, AVFrame *dst,
CudaFunctions *cu = cu_internal->cuda_dl;
ret = CHECK_CU(cu->cuCtxPushCurrent(cuda_dev->cuda_ctx));
if (ret < 0) {
err = AVERROR_EXTERNAL;
goto fail;
}
if (ret < 0)
return AVERROR_EXTERNAL;
dst_f = (AVVkFrame *)src->data[0];
err = vulkan_export_to_cuda(hwfc, dst->hw_frames_ctx, src);
if (err < 0) {
goto fail;
CHECK_CU(cu->cuCtxPopCurrent(&dummy));
return err;
}
dst_int = dst_f->internal;