diff mbox series

[FFmpeg-devel] libavfilter/dnn_backend_native: check mem allocation

Message ID 20201014001950.287601-1-chris@miceli.net.au
State Accepted
Commit ad95e5e45dbb3c3dddc3e2c3fe93bc98f239bd29
Headers show
Series [FFmpeg-devel] libavfilter/dnn_backend_native: check mem allocation | expand

Commit Message

Chris Miceli Oct. 14, 2020, 12:19 a.m. UTC
check that frame allocations return non-null.
---
 libavfilter/dnn/dnn_backend_native.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

Comments

Guo, Yejun Oct. 14, 2020, 2:32 a.m. UTC | #1
> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Chris
> Miceli
> Sent: 2020年10月14日 8:20
> To: ffmpeg-devel@ffmpeg.org
> Cc: Chris Miceli <chris@miceli.net.au>
> Subject: [FFmpeg-devel] [PATCH] libavfilter/dnn_backend_native: check mem
> allocation
> 
> check that frame allocations return non-null.
> ---
>  libavfilter/dnn/dnn_backend_native.c | 17 ++++++++++++++++-
>  1 file changed, 16 insertions(+), 1 deletion(-)
> 
> diff --git a/libavfilter/dnn/dnn_backend_native.c
> b/libavfilter/dnn/dnn_backend_native.c
> index d45e211f0c..4fc3ba2044 100644
> --- a/libavfilter/dnn/dnn_backend_native.c
> +++ b/libavfilter/dnn/dnn_backend_native.c
> @@ -79,8 +79,23 @@ static DNNReturnType get_output_native(void *model,
> const char *input_name, int  {
>      DNNReturnType ret;
>      NativeModel *native_model = (NativeModel *)model;
> +    NativeContext *ctx = &native_model->ctx;
>      AVFrame *in_frame = av_frame_alloc();
> -    AVFrame *out_frame = av_frame_alloc();
> +    AVFrame *out_frame = NULL;
> +
> +    if (!in_frame) {
> +        av_log(ctx, AV_LOG_ERROR, "Could not allocate memory for input
> frame\n");
> +        return DNN_ERROR;
> +    }
> +
> +    out_frame = av_frame_alloc();
> +
> +    if (!out_frame) {
> +        av_log(ctx, AV_LOG_ERROR, "Could not allocate memory for output
> frame\n");
> +        av_frame_free(&in_frame);
> +        return DNN_ERROR;
> +    }
> +
LGTM, will push soon, thanks.
diff mbox series

Patch

diff --git a/libavfilter/dnn/dnn_backend_native.c b/libavfilter/dnn/dnn_backend_native.c
index d45e211f0c..4fc3ba2044 100644
--- a/libavfilter/dnn/dnn_backend_native.c
+++ b/libavfilter/dnn/dnn_backend_native.c
@@ -79,8 +79,23 @@  static DNNReturnType get_output_native(void *model, const char *input_name, int
 {
     DNNReturnType ret;
     NativeModel *native_model = (NativeModel *)model;
+    NativeContext *ctx = &native_model->ctx;
     AVFrame *in_frame = av_frame_alloc();
-    AVFrame *out_frame = av_frame_alloc();
+    AVFrame *out_frame = NULL;
+
+    if (!in_frame) {
+        av_log(ctx, AV_LOG_ERROR, "Could not allocate memory for input frame\n");
+        return DNN_ERROR;
+    }
+
+    out_frame = av_frame_alloc();
+
+    if (!out_frame) {
+        av_log(ctx, AV_LOG_ERROR, "Could not allocate memory for output frame\n");
+        av_frame_free(&in_frame);
+        return DNN_ERROR;
+    }
+
     in_frame->width = input_width;
     in_frame->height = input_height;