From patchwork Wed Apr 26 17:53:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierre-Anthony Lemieux X-Patchwork-Id: 41332 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:dca6:b0:f3:34fa:f187 with SMTP id ky38csp690929pzb; Wed, 26 Apr 2023 10:53:28 -0700 (PDT) X-Google-Smtp-Source: AKy350ahKb+o8r4GTo07zj2cpsSP4I5WAqHSPgPYj9cV4cqhy3+gpiLyZCXxseCMAF8q3ktDgHs+ X-Received: by 2002:a17:906:b248:b0:94f:7c4e:24ea with SMTP id ce8-20020a170906b24800b0094f7c4e24eamr18703010ejb.38.1682531607955; Wed, 26 Apr 2023 10:53:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682531607; cv=none; d=google.com; s=arc-20160816; b=SUKWiocmofTiN/3jBZcHqRFRer+vDM0WOHI4MVZJElfivwaCdW+RO8olIvu9su9T7y B1t21g+MlWYtWI1JIOErZj/3HQRHeuBd4zjmXgX2ibd6KtxUEdg5YVfBo7FOSDOwrx6u BLIfam1R7jB+OtxeHKVlVlzAYUvzK3NW2mb8+VfofNGCMy7NdVtZD8iUUSXgWxCWDmTv x/BUl+XeZmZedKhbGycpF4JV50fscVTPl/oxIOCqXNi4bdxSy/lj0auSe4dfcQiM/9vV 7uSqWD6vEJNFGMsl5zufRRf3XJzKU+VRamkO1jiNaKKJVnEVml8pYEgZO+DPgBvyHxk+ Fm4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :delivered-to; bh=C0qrFkD1n+0NgNgEEmOTjkUYOggolOWdxc6rfXhgjt4=; b=YFlWcvronkAfTbItD+kM+vI7xcLWEZEOrVEJxRid6wUCjiM+ajL/nCuL6kxNIntlfq ptIi58GTn2q7OggtTLIQ/o6OA58PSkFf1TRpXmeNdgRDiZNKcG4K5Bz+poOKwn9ry9c7 xYP0P/HryIYeVgIIgmPw/26X+pLKl2DU6vS4X4SHsJpJaGsGYB711t7zKctosNgSTAaU QvHsUvY76nnXPRYYBjs2AGPVRJ0l9PZsWQEXPYiimVUMwUqvcQidDTJ/3+WngeospWbx Q7073RuXVuv3BeLHKlKgE2/JGhnPqWfPohODUhWmwY9DVILIGNonTmYgC8VomCzJpDbD hyFQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id v9-20020a170906488900b0095381349fe2si12205312ejq.951.2023.04.26.10.53.27; Wed, 26 Apr 2023 10:53:27 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 33E7068BF32; Wed, 26 Apr 2023 20:53:23 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4EB8E68BBA2 for ; Wed, 26 Apr 2023 20:53:17 +0300 (EEST) Received: by mail-pf1-f173.google.com with SMTP id d2e1a72fcca58-63b5c48ea09so6127787b3a.1 for ; Wed, 26 Apr 2023 10:53:17 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682531595; x=1685123595; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=6pM1a+86JdLKKTRCP+D7WZrgjTv/9n73ATBKIlJzXZc=; b=ZNf2Y62A8e0iV9MYqy6jlog3UzicfiyRMm1ycnZxc95dol2DKIMFkojWgc6ldT4UIA 4byt+G7PFun+uG6Qe/0s+5dB5kC1YPbriPPsMY7CrtIjCc1rkmgz+Rbzj5arfTISn66o SocIf0eMUefEc2RgTtl+VydWRY68AxeOGk+0VPYO3sOm6vq7ytWW3aEq7nWHpgADI8LQ nRx88Ff8fL6Tum1YDUSse9JYc76NiJCkAnMhXNkcC+8Q7bmagDXcAcc+CgeywA2xcair u+iWRwsspkM/QAKPglECcTIzzf5H/UsSyuPP3guudBZ78CVbRL4OmOQIB7dzKfDLdUHl KCxw== X-Gm-Message-State: AAQBX9ff/ZPG1EKmru9VgGXMqiDftNBNEUu+yeZ+CsHIUs7DgfKw34xW FqLLnd39kojnlR1mnAlKjIbzR9wiWdU= X-Received: by 2002:a05:6a00:1a01:b0:63b:89ba:fc9c with SMTP id g1-20020a056a001a0100b0063b89bafc9cmr27797452pfv.27.1682531594968; Wed, 26 Apr 2023 10:53:14 -0700 (PDT) Received: from localhost (76-14-89-2.sf-cable.astound.net. [76.14.89.2]) by smtp.gmail.com with ESMTPSA id v16-20020a056a00149000b0063b7af71b61sm11550456pfu.212.2023.04.26.10.53.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Apr 2023 10:53:14 -0700 (PDT) Received: by localhost (sSMTP sendmail emulation); Wed, 26 Apr 2023 10:53:07 -0700 From: pal@sandflow.com To: ffmpeg-devel@ffmpeg.org Date: Wed, 26 Apr 2023 10:53:01 -0700 Message-Id: <20230426175302.946-1-pal@sandflow.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] avformat/imf: fix invalid resource handling 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: Pierre-Anthony Lemieux Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: JXUJ4uRp6p7b From: Pierre-Anthony Lemieux --- libavformat/imf_cpl.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/libavformat/imf_cpl.c b/libavformat/imf_cpl.c index ad84a68b13..a7cf5fa360 100644 --- a/libavformat/imf_cpl.c +++ b/libavformat/imf_cpl.c @@ -608,11 +608,10 @@ static int push_main_audio_sequence(xmlNodePtr audio_sequence_elem, FFIMFCPL *cp ret = fill_trackfile_resource(resource_elem, &vt->resources[vt->resource_count], cpl); - vt->resource_count++; - if (ret) { + if (ret) av_log(NULL, AV_LOG_ERROR, "Invalid Resource\n"); - continue; - } + else + vt->resource_count++; resource_elem = xmlNextElementSibling(resource_elem); } @@ -691,11 +690,10 @@ static int push_main_image_2d_sequence(xmlNodePtr image_sequence_elem, FFIMFCPL ret = fill_trackfile_resource(resource_elem, &cpl->main_image_2d_track->resources[cpl->main_image_2d_track->resource_count], cpl); - cpl->main_image_2d_track->resource_count++; - if (ret) { + if (ret) av_log(NULL, AV_LOG_ERROR, "Invalid Resource\n"); - continue; - } + else + cpl->main_image_2d_track->resource_count++; resource_elem = xmlNextElementSibling(resource_elem); } From patchwork Wed Apr 26 17:53:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierre-Anthony Lemieux X-Patchwork-Id: 41333 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:dca6:b0:f3:34fa:f187 with SMTP id ky38csp690989pzb; Wed, 26 Apr 2023 10:53:38 -0700 (PDT) X-Google-Smtp-Source: AKy350aSYbmJyjbBqCV/34aK8w3UnQbbOiGIIKo5vrH7Mc7G66oMMkaI/SGHmbvngha0iffGM4jr X-Received: by 2002:a17:906:9bfa:b0:94e:c4b:4d95 with SMTP id de58-20020a1709069bfa00b0094e0c4b4d95mr17442234ejc.69.1682531617849; Wed, 26 Apr 2023 10:53:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682531617; cv=none; d=google.com; s=arc-20160816; b=NiOsr8JKkTYjjz+mPF0WCKLs38C6xDE2BBLMcsN3Gd1FCBz/VaJ9A0v2QOzuhOtaIj 9ej0ulhaUjIk+cIC7KTyRmCZ/NyZ8GBIeVJP+xRhKtlpw5TvkvaAJWt6v8aQ9T385wOt xmy4CUq3PAGJLyehhdWIsdlQJGPBrBlg9pZf0fTcEXsigGDBH7wNqMlPaMUaiQL+uwwd a8qG8Lyl8D5Ye7CdkNfdhywhWnD7cwrz4NLLufFNjTCkw0WrV1ujO/yPvGryzIPG/7Tb AjwP0aSlhkZPGV46XbJ1zlEMBrLi0DIRAJJTRRPI2IlUo4OoYQ52KJGPGvI7LsioGABk Hqhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to :message-id:date:to:from:delivered-to; bh=rRy2owUOzfwEXx7mIEZqerexcuU+S+ul34WtJDxM9Hw=; b=EfnWOlSxuPKnPqvZ5hIBzqyNMhMlfdcLBekQe7b0qkB1Xx2CE/E4oZla/tyxLzvzXH Wtr3FAXOonxeNRvqw+mWO5wuvsYLAjoHKtbhEEhpByvcEnLjjl7sNRox7xdQ6n1hLdO1 g0mT0Q7WzpM+hEdqEVhgO52VO4PuebYqMV4YLM2yAZ/bj2oFKun9k6e+WbLy0m7w0gj2 KTUOlJONhVl93o6J5gNKQ1jDQV+kg8kqK8HwnwDUZdjdiOEeiS73CiSkd0JtdUtGKpuF hTtYEA77TYWA6iYSk3Rh94Nh95jT5ccYbTDaJZzToDaCzNNXMA+lfUvgsKmOYYpRuA9j KL0A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id w5-20020aa7d285000000b00508492c42basi12251774edq.470.2023.04.26.10.53.37; Wed, 26 Apr 2023 10:53:37 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 735FD68BF45; Wed, 26 Apr 2023 20:53:26 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0149968BBA2 for ; Wed, 26 Apr 2023 20:53:19 +0300 (EEST) Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-63b87d23729so5947514b3a.0 for ; Wed, 26 Apr 2023 10:53:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682531598; x=1685123598; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eVhJQt2Ncf//MST5+udLOrIYmmFaDSGqaFASyE2AxcU=; b=Ha1OhDiU5F9EnAX8XZ092KgP5oXNS7OWwggiGUJQifYE1H/mfubCGAa/wp8AzcRcB9 Q6I9bV4jPcf53R66HjzvkkhcMPvvSYmAWDr7gKwCMMCcj/QrFyBoPGlfLtwx2OQCRqji ODx+n91YEdrJjoqzcXJWpopBWxY25+zWHKff194dknQtqEE0yQZ8RwJ/69x6xPLsctef Bkn0LjqxNDA1Bb5q0N0lM+Qawl54XeLY2TI/ME0km3/fkNUjSyZDQ6oRCfnkzWhfPa/x yzD5GqKH8PrLs/piW0q8iRkhU1lK1fYglwfFcDpq4nQ5Vc2eQeJrhNeXQIIv7kPYdG/x JTRw== X-Gm-Message-State: AAQBX9drgEWL94W5aXvCiJiOLvPQlub4h8UjCEtH3tE7nwtO/Z8eW5wN IegCpz2Ye0MfWX1ygoYnxO79djqMj3U= X-Received: by 2002:a05:6a00:1a8b:b0:63b:817f:664 with SMTP id e11-20020a056a001a8b00b0063b817f0664mr27139409pfv.22.1682531597814; Wed, 26 Apr 2023 10:53:17 -0700 (PDT) Received: from localhost (76-14-89-2.sf-cable.astound.net. [76.14.89.2]) by smtp.gmail.com with ESMTPSA id i2-20020aa787c2000000b0063932e36437sm11580129pfo.134.2023.04.26.10.53.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Apr 2023 10:53:17 -0700 (PDT) Received: by localhost (sSMTP sendmail emulation); Wed, 26 Apr 2023 10:53:11 -0700 From: pal@sandflow.com To: ffmpeg-devel@ffmpeg.org Date: Wed, 26 Apr 2023 10:53:02 -0700 Message-Id: <20230426175302.946-2-pal@sandflow.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230426175302.946-1-pal@sandflow.com> References: <20230426175302.946-1-pal@sandflow.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] avformat/tests/imf: add invalid resource test 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: Pierre-Anthony Lemieux Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: qR7d7s8LLTc0 From: Pierre-Anthony Lemieux --- libavformat/tests/imf.c | 65 +++++++++++++++++++++++++++++++++++++++++ tests/ref/fate/imf | 2 ++ 2 files changed, 67 insertions(+) diff --git a/libavformat/tests/imf.c b/libavformat/tests/imf.c index 2cacb43f47..cfd84fb8c8 100644 --- a/libavformat/tests/imf.c +++ b/libavformat/tests/imf.c @@ -218,6 +218,45 @@ const char *cpl_doc = "" ""; + const char *cpl_bad_resource_doc = + "" + "urn:uuid:8713c020-2489-45f5-a9f7-87be539e20b5" + "2021-07-13T17:06:22Z" + "FFMPEG" + "FFMPEG sample content" + "" + " " + " urn:uuid:8e097bb0-cff7-4969-a692-bad47bfb528f" + " " + "" + "" + "false" + "24" + "02:10:01.23" + "" + "24000 1001" + "" + "" + "urn:uuid:81fed4e5-9722-400a-b9d1-7f2bd21df4b6" + "" + "" + "urn:uuid:6ae100b0-92d1-41be-9321-85e0933dfc42" + "urn:uuid:e8ef9653-565c-479c-8039-82d4547973c5" + "" + "" + "urn:uuid:7d418acb-07a3-4e57-984c-b8ea2f7de4ec" + "24" + "urn:uuid:f00e49a8-0dec-4e6c-95e7-078df988b751" + "" + "" + "" + "" + "" + "" + ""; + const char *cpl_bad_doc = ""; const char *asset_map_doc = @@ -366,6 +405,27 @@ static int test_bad_cpl_parsing(FFIMFCPL **cpl) return 0; } +static int test_bad_resource_cpl_parsing(FFIMFCPL **cpl) +{ + xmlDocPtr doc; + int ret; + + doc = xmlReadMemory(cpl_bad_resource_doc, strlen(cpl_bad_resource_doc), NULL, NULL, 0); + if (doc == NULL) { + printf("XML parsing failed.\n"); + return 1; + } + + ret = ff_imf_parse_cpl_from_xml_dom(doc, cpl); + xmlFreeDoc(doc); + if (ret) { + printf("CPL parsing failed.\n"); + return ret; + } + + return 0; +} + static int check_asset_locator_attributes(IMFAssetLocator *asset, IMFAssetLocator *expected_asset) { @@ -533,5 +593,10 @@ int main(int argc, char *argv[]) } printf("#### End failing test ####\n"); + printf("#### The following should emit errors ####\n"); + if (test_bad_resource_cpl_parsing(&cpl) != 0) + ret = 1; + printf("#### End emission of errors ####\n"); + return ret; } diff --git a/tests/ref/fate/imf b/tests/ref/fate/imf index 5093167bc7..fdfed8ac17 100644 --- a/tests/ref/fate/imf +++ b/tests/ref/fate/imf @@ -53,3 +53,5 @@ For asset: 4: #### The following should fail #### CPL parsing failed. #### End failing test #### +#### The following should emit errors #### +#### End emission of errors ####