Message ID | 20180325124253.36091-1-dylanf123@gmail.com |
---|---|
State | Superseded |
Headers | show |
On 25/03/18 13:42, dylanf123@gmail.com wrote: > From: drfer3 <drfer3@student.monash.edu> > > Fixes Coverity CID 1430382 > ---> Following is a patch attempting to fix the err issue. It returns -1 if any > clSetKernelArg() fails. Is this good, or should I be using a different > return value for this error? -1 shouldn't be used (since it maps to errno values, it looks like EPERM on Linux, and different things on other systems). Given that would be quite unexpected if it failed, I think AVERROR_UNKNOWN is appropriate here - see <http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavutil/error.h#l71>. Patch looks fine with that changed. Thanks, - Mark > libavfilter/vf_avgblur_opencl.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/libavfilter/vf_avgblur_opencl.c b/libavfilter/vf_avgblur_opencl.c > index 5ee66c0ba2..09caa1fd4f 100644 > --- a/libavfilter/vf_avgblur_opencl.c > +++ b/libavfilter/vf_avgblur_opencl.c > @@ -155,18 +155,21 @@ static int avgblur_opencl_filter_frame(AVFilterLink *inlink, AVFrame *input) > if (cle != CL_SUCCESS) { > av_log(avctx, AV_LOG_ERROR, "Failed to set kernel " > "destination image argument: %d.\n", cle); > + err = -1; > goto fail; > } > cle = clSetKernelArg(ctx->kernel_horiz, 1, sizeof(cl_mem), &src); > if (cle != CL_SUCCESS) { > av_log(avctx, AV_LOG_ERROR, "Failed to set kernel " > "source image argument: %d.\n", cle); > + err = -1; > goto fail; > } > cle = clSetKernelArg(ctx->kernel_horiz, 2, sizeof(cl_int), &radius_x); > if (cle != CL_SUCCESS) { > av_log(avctx, AV_LOG_ERROR, "Failed to set kernel " > "sizeX argument: %d.\n", cle); > + err = -1; > goto fail; > } > > @@ -191,18 +194,21 @@ static int avgblur_opencl_filter_frame(AVFilterLink *inlink, AVFrame *input) > if (cle != CL_SUCCESS) { > av_log(avctx, AV_LOG_ERROR, "Failed to set kernel " > "destination image argument: %d.\n", cle); > + err = -1; > goto fail; > } > cle = clSetKernelArg(ctx->kernel_vert, 1, sizeof(cl_mem), &inter); > if (cle != CL_SUCCESS) { > av_log(avctx, AV_LOG_ERROR, "Failed to set kernel " > "source image argument: %d.\n", cle); > + err = -1; > goto fail; > } > cle = clSetKernelArg(ctx->kernel_vert, 2, sizeof(cl_int), &radius_y); > if (cle != CL_SUCCESS) { > av_log(avctx, AV_LOG_ERROR, "Failed to set kernel " > "sizeY argument: %d.\n", cle); > + err = -1; > goto fail; > } > >
Thanks, fixed - Dylan
diff --git a/libavfilter/vf_avgblur_opencl.c b/libavfilter/vf_avgblur_opencl.c index 5ee66c0ba2..09caa1fd4f 100644 --- a/libavfilter/vf_avgblur_opencl.c +++ b/libavfilter/vf_avgblur_opencl.c @@ -155,18 +155,21 @@ static int avgblur_opencl_filter_frame(AVFilterLink *inlink, AVFrame *input) if (cle != CL_SUCCESS) { av_log(avctx, AV_LOG_ERROR, "Failed to set kernel " "destination image argument: %d.\n", cle); + err = -1; goto fail; } cle = clSetKernelArg(ctx->kernel_horiz, 1, sizeof(cl_mem), &src); if (cle != CL_SUCCESS) { av_log(avctx, AV_LOG_ERROR, "Failed to set kernel " "source image argument: %d.\n", cle); + err = -1; goto fail; } cle = clSetKernelArg(ctx->kernel_horiz, 2, sizeof(cl_int), &radius_x); if (cle != CL_SUCCESS) { av_log(avctx, AV_LOG_ERROR, "Failed to set kernel " "sizeX argument: %d.\n", cle); + err = -1; goto fail; } @@ -191,18 +194,21 @@ static int avgblur_opencl_filter_frame(AVFilterLink *inlink, AVFrame *input) if (cle != CL_SUCCESS) { av_log(avctx, AV_LOG_ERROR, "Failed to set kernel " "destination image argument: %d.\n", cle); + err = -1; goto fail; } cle = clSetKernelArg(ctx->kernel_vert, 1, sizeof(cl_mem), &inter); if (cle != CL_SUCCESS) { av_log(avctx, AV_LOG_ERROR, "Failed to set kernel " "source image argument: %d.\n", cle); + err = -1; goto fail; } cle = clSetKernelArg(ctx->kernel_vert, 2, sizeof(cl_int), &radius_y); if (cle != CL_SUCCESS) { av_log(avctx, AV_LOG_ERROR, "Failed to set kernel " "sizeY argument: %d.\n", cle); + err = -1; goto fail; }
From: drfer3 <drfer3@student.monash.edu> Fixes Coverity CID 1430382 --- libavfilter/vf_avgblur_opencl.c | 6 ++++++ 1 file changed, 6 insertions(+)