File libaom-CVE-2020-36130.patch of Package libaom.29084

Index: libaom-1.0.0/av1/av1_dx_iface.c
===================================================================
--- libaom-1.0.0.orig/av1/av1_dx_iface.c	2021-12-06 11:56:31.000000000 +0100
+++ libaom-1.0.0/av1/av1_dx_iface.c	2021-12-06 12:33:21.206671012 +0100
@@ -858,6 +858,7 @@ static aom_codec_err_t ctrl_get_last_qua
                                                va_list args) {
   int *const arg = va_arg(args, int *);
   if (arg == NULL) return AOM_CODEC_INVALID_PARAM;
+  if (ctx->frame_workers == NULL) return AOM_CODEC_ERROR;
   *arg =
       ((FrameWorkerData *)ctx->frame_workers[0].data1)->pbi->common.base_qindex;
   return AOM_CODEC_OK;
@@ -921,6 +922,7 @@ static aom_codec_err_t ctrl_get_frame_he
       frame_header_info->coded_tile_data_size = pbi->obu_size_hdr.size;
       frame_header_info->coded_tile_data = pbi->obu_size_hdr.data;
       frame_header_info->extra_size = pbi->frame_header_size;
+      return AOM_CODEC_OK;
     } else {
       return AOM_CODEC_ERROR;
     }
@@ -1034,7 +1036,7 @@ static aom_codec_err_t ctrl_set_byte_ali
     FrameWorkerData *const frame_worker_data = (FrameWorkerData *)worker->data1;
     frame_worker_data->pbi->common.byte_alignment = byte_alignment;
   }
-  return AOM_CODEC_OK;
+  return AOM_CODEC_INVALID_PARAM;
 }
 
 static aom_codec_err_t ctrl_set_skip_loop_filter(aom_codec_alg_priv_t *ctx,
@@ -1057,6 +1059,8 @@ static aom_codec_err_t ctrl_get_accounti
   (void)args;
   return AOM_CODEC_INCAPABLE;
 #else
+  Accounting **acct = va_arg(args, Accounting **);
+  if (acct) {
   if (ctx->frame_workers) {
     AVxWorker *const worker = ctx->frame_workers;
     FrameWorkerData *const frame_worker_data = (FrameWorkerData *)worker->data1;
@@ -1066,6 +1070,8 @@ static aom_codec_err_t ctrl_get_accounti
     return AOM_CODEC_OK;
   }
   return AOM_CODEC_ERROR;
+  }
+  return AOM_CODEC_INVALID_PARAM;
 #endif
 }
 static aom_codec_err_t ctrl_set_decode_tile_row(aom_codec_alg_priv_t *ctx,
openSUSE Build Service is sponsored by