From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 17DF1432F0 for ; Thu, 30 Jun 2022 22:33:06 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6A22F68B84C; Fri, 1 Jul 2022 01:31:03 +0300 (EEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2023.outbound.protection.outlook.com [40.92.91.23]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 85D7968B844 for ; Fri, 1 Jul 2022 01:31:01 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=a3RY/Q1JPcXU0Zq6rfIZqFk+HkpLLKk5opaSNrw+HAVg6swBRakEPjxhL+N79k7FbN9BqmfSXKc9jR9H6SlaHR89C1fHpQhxnSo9OTymyvJzIv3IOFnOEjy6NdIs+Om8s+B0535Ht6KVxBsTLX6HnPHyx6bTmn3e8uzdJy8RTBJu461pUBf+AnkZkvw1XMQELqh25vQpRgjH2opyan7yMd3Hy+DeG9b7nCiVvCpf6T4yqRj0G6WK/a+Vgk63YUseWAVHGstd96tWAjn0uCA/owvUZZ4Wbujwj3usMWaTbkqFQtfxJKnoUUirb2xLOCCWUKTlFpRa+owzJ63XO9AM3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=RisBzPndG6un2Vv8SYCDf3Tf7Xy571WxYGLTy05+dKw=; b=bCAVDmrg2qj4yquULxTRwj1p7BNtDE1+Pin3wYk5wOscHqTPn6WxNYXX5HtwyNifmyNLpxv3pakn8sNZRWSRI7PPONCeoH1LqCJC1V6VgyHa9dF1gxi9IwKZIoialBFClH4R4FGCOY7LAUyFEbRWrT+bzg1kgLBU3epV6Ilr6TqhjtCa0356Wz0RE5aoCsOmUMPQ1BC4jxk/KOVwd0y2EPD4Mqy3NELGN9+nB0sQl1R0si3PPfRQW7PdT8hgZZklL4ZPHIapOdkuu0IsOsSkGUt0sGs7/a+7YVonAZLMfH/NUxpcXdhCUFgxPad8upOdLaEIZrYKPMMsAKw8j18trA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RisBzPndG6un2Vv8SYCDf3Tf7Xy571WxYGLTy05+dKw=; b=SXpcBEwos9xeJdg9h0kQmkrjyLe+K5tuFNifjrPAPNfNRkItcH7sHe76/D03GLYurlNlUYFFpvAPTGWC4Ma6w/AUFou2370NCXF0BlYt83A+Vvfh+KIFwV9Zy5ZIg8+Cb7ufZ2i24vfx9jLKgwdcxuXUsN0UzMoTQ6qz8xCyDORn+88koXRD+lIBa9/3URkkpF/k67oSzt+gwf16ZEQeF8u3YroUrgQCsD2at+B+SBNKh3mxUcikpIlfJn3io5iK40/N1UvE4zV6SVCmMweJVgJG1WcbOWyn4VZi637elPI+7R24lt79w4QYwZv7RpzI8uHLCOr4+D2xG8w0pIxaag== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB3PR0102MB3546.eurprd01.prod.exchangelabs.com (2603:10a6:8:d::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.15; Thu, 30 Jun 2022 22:31:00 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%10]) with mapi id 15.20.5373.018; Thu, 30 Jun 2022 22:31:00 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 1 Jul 2022 00:29:49 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [Fx29LO3Sz4zNjSbc3Iq2u7xVwveQ6ABh] X-ClientProxiedBy: FR0P281CA0099.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a9::17) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220630222949.1758625-17-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 50590405-b4b4-407e-0cdd-08da5ae83559 X-MS-Exchange-SLBlob-MailProps: q+fD6XS3/UIsx7KfB5fXwX9/lr2btQgAGxVon1TX1GDB4a8MdTSSaG1BX7QHykUn0Eb7cFcEETYFGB637R2HqgABhzlN6bgldgSJvcAbNRkrXEWCuvMk3YIoQOPkEVwyyMRma6vdoG0tM/FblHsgIpNniSIxM6f3C2xGjgDSoxO3wVcBEh0fdLPpVW8fVtl3DQYtGCDvDRnKKG0xX4iKSzOFR0cpLvgPde/TuHT7UShOZ0KtknULPTyuY5TlZFE61+4Ck85JYaUPNhCJq2WYhEOC7PzWJUl7ty9LVKqWdi5m3u2HhQOTxIqErxO/ypz8femb4rTG7UHsU44CI9eGfcFxRp5lVdTBvw/oQ62PqPhlv1hUCbIE5vwWM5Ej2NOgOvWu0gTBVeTA9UxDYxYFS9eKDUz954eKcLsZrFqda6JXgDCMmfAMyZqr9ExoD8zMw6U5KxioekyZVTEemP98NFDCH4W7+A5ObYYbtPo+FXtvBP8jJruOV5PgkccWN1agBIudq0kFaVvPc11lFWjy7stvSvJxXF113q0Ifzma/IUZVaQXvJtlVjYQm6L2towgWcGKYUK4O5XygSeCRYXYQPIH0y4AjF4HtVIzKluUQ6nLIjstS4ZkpoZrszoFJY+IbPhp73VMXYk/ZwwQt2YPqh4fovJGNwZI7tSf+LhKlUJxQfoqy0UG+vSlFybOkro6fRuAN2ir/y7/jI+mBjBuBQ== X-MS-TrafficTypeDiagnostic: DB3PR0102MB3546:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: iBb+kmmR7yPhHjh+OI0hp06wn35AKe7FxnkSMefHzCYmGvqrlg4AxnUnlCdlYZH+mC//iHc26KWd4k7uEv8bJfeRvK2/GyngWLElcS3T3WkEUgqH3K1BfnLS5KcsX8pCTTo3WpkwmBIqrayRwGdhxS/ecxm3Bae+lmbqCtoR/GKSJEcZDMBNL1obQfT+hSL/7iS6zVfPtzTFc7Z6WeEDzMVZe/2nbKUa8MzENDxhCJhoIU3mLIEywxRWSKGeAN6gnu91BCSB4Vf+NwYW2CXheuB7Be9rwUHasdJ7ULKWxdGYpjO8lsgsWJy+re12eo9YUcQ/M6csFtY91ihKnn+UyQQpIR8D//CmHeZXtyNsjOFl5ajM/6EuyxMnjLuiWDHIAkPp3xMj0x6nbEIFxjYK1KAfTKJjRN7ISPHxwaHkcfi8xeVD31WvRLhb4WV/bNwvcLUkY5YZMPbc7aKgD2yiADj99FLdilILUcwqxAIVB+UOOlcMeoHbDnUkSF9m01eB+AdatVEk+aJMUdrRE2WFtOCVNUGJjhER3WzYIlxv9rjKkWdo2YjACbgpHYCDXJN2Y8nuw3zYKL1ttU8Zgt7AeMyXK67cYYCCW5U1+H6WmhTYD9Q4ic8dhTk/LkuEyfVOF60K0sICh8eHn2QZkMPvS9k7uR4IM3plm//lJz0PiiED7+Fmp9Y9a3AkQu4u57Y1JR5Dex3rEdXEFoYvSMwqfw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?AiUepQmsfPsXJQwpa7L1CiWPvxdUW2qhlgf9gRjlQQt7SQwreDrl5wJ408R1?= =?us-ascii?Q?RofbIhFlIuVIP0Ufk1Pb8NdQr3rBM3Czc4QMUy536bxxL3zZpRLaeLvbJLac?= =?us-ascii?Q?YFwh4JXAdVqcvN0+QU6kp54b3LrhMQSkMEsPI3WCd0kysRo/msVmO4Hh4jZg?= =?us-ascii?Q?KaLUPlwWLcNPmaSQRWJlBR2Ee1u54lNK0m+k5YSOj6cbC3nO5xwc8RtRW9AN?= =?us-ascii?Q?iBwFAXZhlcQjbuHcUxmuAGteZy0y0TX80UoxoFZ1VOmdAV8hu6181fD6BR1+?= =?us-ascii?Q?cOXDu/ZYWSi2dbAxxxgX7G1fvgoQxyZAjgCaKjyb44Rbj0t0CPBrx6T1keGN?= =?us-ascii?Q?kZeVjgHN+7Fs3IrNp0iGrxWE0okMe9uhwyRlLlO42qzVryjA/TJfGkxK89PW?= =?us-ascii?Q?uR/QV3jN8AF9mZxN8YAatwVxfQ0DZNrdEM7RJHVHWHn4w1Ke8IdZjay705DR?= =?us-ascii?Q?wgKFVV0ZQYzknRrg/MQ1KGMkQsiDxiwbN1CJreFgsCRdVg7g3eSC74tfu2I6?= =?us-ascii?Q?atEdYKz4azNgghaGqr07pFB8WbIXcJnH7l2TfMHYpGXbpwhbSrRLpJ2Jg2a9?= =?us-ascii?Q?2Z99GwNxYl6e6nUebG0G98YuD5R8dpT2Ohk1QNbI367KF5yXcMdRs+AF9fRV?= =?us-ascii?Q?9ntjZuLvenqkZGnLD0PlnjoYWH01n7tkc5rLH1VeIGFnMBMSbLCenYjdbTMw?= =?us-ascii?Q?zbNqf9EByIMwOfiSMnpXRwVT2hT6o7OgePaS2rkdxlArMosHs1IOtXuT2dWt?= =?us-ascii?Q?6ChfLNVidVjlHGauXEyZ5TNUpfZWvSB+tMbln18dEZUeEXtHrwoElyxJWty7?= =?us-ascii?Q?eRDq4tBhaDIMxGHF2zTjV8STS7Ia8eFVswl5FPtJO+yxwdR70J6r3hcchstO?= =?us-ascii?Q?msr0zbqVXE4IiWXzY4/eoL6QL7ym+g/xVCHltJKJ2nMxsLYIxKkI+JkF91n2?= =?us-ascii?Q?ED7/2LftKivakv6zC5fziwfjUUsoblaDcxZngePCEKJM7OekI3GiF1ZTZ+Vg?= =?us-ascii?Q?uE/V/vWGBB/CF4+n+xBmiifg7pEQWuj2lvqjk7ncqkH9o3a3W25ftxuEk7GM?= =?us-ascii?Q?T/L9r398qSKz+28cERUU4ICixEwhm1kmQJRv38Xwf6jWS8y/rklsMs2o3QGZ?= =?us-ascii?Q?DPms9EkqpB757Sb5gx5iqZ6d2zt+Ca9213TM86yevdIb/cc3IW47wATbwCli?= =?us-ascii?Q?IZKNajNnmR9nQBKfdDKgnMplDDKhg7vwLNUqGedWbA5fU8KFC3hLjHyi2lMX?= =?us-ascii?Q?JiJNjJCsqEbOcPcrUWX1r+PsbVGbCMpeX7vN+ZFMYh8PzR58I5OqgMJ/lHw3?= =?us-ascii?Q?Mm8=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 50590405-b4b4-407e-0cdd-08da5ae83559 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jun 2022 22:31:00.2943 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0102MB3546 Subject: [FFmpeg-devel] [PATCH 18/18] avcodec/hevcdec: Move allocation after error checks X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Andreas Rheinhardt Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: While just at it, also use av_calloc() instead of zeroing the array ourselves in a loop. Signed-off-by: Andreas Rheinhardt --- libavcodec/hevcdec.c | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c index e2568c04c0..c61ae49be1 100644 --- a/libavcodec/hevcdec.c +++ b/libavcodec/hevcdec.c @@ -2628,31 +2628,25 @@ static int hls_slice_data_wpp(HEVCContext *s, const H2645NAL *nal) const uint8_t *data = nal->data; int length = nal->size; HEVCLocalContext *lc = s->HEVClc; - int *ret = av_malloc_array(s->sh.num_entry_point_offsets + 1, sizeof(int)); + int *ret; int64_t offset; int64_t startheader, cmpt = 0; int i, j, res = 0; - if (!ret) - return AVERROR(ENOMEM); - if (s->sh.slice_ctb_addr_rs + s->sh.num_entry_point_offsets * s->ps.sps->ctb_width >= s->ps.sps->ctb_width * s->ps.sps->ctb_height) { av_log(s->avctx, AV_LOG_ERROR, "WPP ctb addresses are wrong (%d %d %d %d)\n", s->sh.slice_ctb_addr_rs, s->sh.num_entry_point_offsets, s->ps.sps->ctb_width, s->ps.sps->ctb_height ); - res = AVERROR_INVALIDDATA; - goto error; + return AVERROR_INVALIDDATA; } for (i = 1; i < s->threads_number; i++) { if (s->HEVClcList[i]) continue; s->HEVClcList[i] = av_mallocz(sizeof(HEVCLocalContext)); - if (!s->HEVClcList[i]) { - res = AVERROR(ENOMEM); - goto error; - } + if (!s->HEVClcList[i]) + return AVERROR(ENOMEM); s->HEVClcList[i]->logctx = s->avctx; s->HEVClcList[i]->parent = s; } @@ -2683,8 +2677,7 @@ static int hls_slice_data_wpp(HEVCContext *s, const H2645NAL *nal) offset += s->sh.entry_point_offset[s->sh.num_entry_point_offsets - 1] - cmpt; if (length < offset) { av_log(s->avctx, AV_LOG_ERROR, "entry_point_offset table is corrupted\n"); - res = AVERROR_INVALIDDATA; - goto error; + return AVERROR_INVALIDDATA; } s->sh.size[s->sh.num_entry_point_offsets - 1] = length - offset; s->sh.offset[s->sh.num_entry_point_offsets - 1] = offset; @@ -2700,18 +2693,18 @@ static int hls_slice_data_wpp(HEVCContext *s, const H2645NAL *nal) atomic_store(&s->wpp_err, 0); res = ff_slice_thread_allocz_entries(s->avctx, s->sh.num_entry_point_offsets + 1); if (res < 0) - goto error; + return res; - for (i = 0; i <= s->sh.num_entry_point_offsets; i++) { - ret[i] = 0; - } + ret = av_calloc(s->sh.num_entry_point_offsets + 1, sizeof(*ret)); + if (!ret) + return AVERROR(ENOMEM); if (s->ps.pps->entropy_coding_sync_enabled_flag) s->avctx->execute2(s->avctx, hls_decode_entry_wpp, s->HEVClcList, ret, s->sh.num_entry_point_offsets + 1); for (i = 0; i <= s->sh.num_entry_point_offsets; i++) res += ret[i]; -error: + av_free(ret); return res; } -- 2.34.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".