[Libva] [PATCH] CreateSurfaces2: forward function return to caller
Xiang, Haihao
haihao.xiang at intel.com
Mon Jul 13 23:08:55 PDT 2015
Applied. Please version the patch when resending a new version of a
patch in the future.
Thanks
Haihao
> we did not check following function's return:
> i965_surface_native_memory
> i965_suface_external_memory
> i965_check_alloc_surface_bo
> It will be in trouble if underlay buffer allocation is failed.
> ---
> src/i965_drv_video.c | 26 ++++++++++++++------------
> 1 file changed, 14 insertions(+), 12 deletions(-)
>
> diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c
> index cfaab32..4ba87f8 100644
> --- a/src/i965_drv_video.c
> +++ b/src/i965_drv_video.c
> @@ -989,9 +989,7 @@ i965_surface_native_memory(VADriverContextP ctx,
> expected_fourcc == VA_FOURCC_YV16)
> tiling = 0;
>
> - i965_check_alloc_surface_bo(ctx, obj_surface, tiling, expected_fourcc, get_sampling_from_fourcc(expected_fourcc));
> -
> - return VA_STATUS_SUCCESS;
> + return i965_check_alloc_surface_bo(ctx, obj_surface, tiling, expected_fourcc, get_sampling_from_fourcc(expected_fourcc));
> }
>
> static VAStatus
> @@ -1327,19 +1325,23 @@ i965_CreateSurfaces2(
> }
> }
> }
> - i965_surface_native_memory(ctx,
> - obj_surface,
> - format,
> - expected_fourcc);
> + vaStatus = i965_surface_native_memory(ctx,
> + obj_surface,
> + format,
> + expected_fourcc);
> break;
>
> case I965_SURFACE_MEM_GEM_FLINK:
> case I965_SURFACE_MEM_DRM_PRIME:
> - i965_suface_external_memory(ctx,
> - obj_surface,
> - memory_type,
> - memory_attibute,
> - i);
> + vaStatus = i965_suface_external_memory(ctx,
> + obj_surface,
> + memory_type,
> + memory_attibute,
> + i);
> + break;
> + }
> + if (VA_STATUS_SUCCESS != vaStatus) {
> + i965_destroy_surface(&i965->surface_heap, (struct object_base *)obj_surface);
> break;
> }
> }
More information about the Libva
mailing list