From patchwork Sun May 8 03:01:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 35687 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp2386857pzb; Sat, 7 May 2022 20:01:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxcpqbYUQKIb1RDbnKFj/bCZnGziK2TSk4WC6hXhATWLqsltSA95hKSndqNNbzGKZklEbsH X-Received: by 2002:a05:6402:288a:b0:425:c5b2:59d9 with SMTP id eg10-20020a056402288a00b00425c5b259d9mr10778518edb.412.1651978905137; Sat, 07 May 2022 20:01:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651978905; cv=none; d=google.com; s=arc-20160816; b=GYNqhIS7VlbCc9iGD8clcL70/SrDp1iY/NfA+vqKzG624FElKWQC8sk9yPr8yrOQEU gszd3kqFgkwtrkikvDxUW9bznGR5rLhGJvCpSByAH0broN557jHkLogi0nDQVXnpkZwW MEbVdmnpKtQThiLIhzG1FXQSiWNQWqwzk6UDo7uZrYOEoPdo1L3E0ZJph4kiBW9iETgf N1bgQFpQrrkun1jEemjgDblLTodqETsAgVIii73pEER805PlXi343na5wNNlbtyhPZOf Y3lJ9TQ1Dnm4sNqWmGfAcegBaXGjNvBdbpGZXMVw6RwTbIGv2e/rD/HfbmkHF0eXdJkd qd9Q== 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:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=Pu1Jcy+30g6WPvZ0mtQrKZqlUMuu81DxWyn4e6o0wNo=; b=cVCMvwn/XAJboHWPWMzOi9+sxwoQaSb5hi6RHuzBYkW1//a1brLIJhCZ1MSzw0190O PSxUYuob642xwCvAqAELdjlwjYdp9BxIsMLqRVP3qjCtQE7lmPWDHZqXgQmPe2ifXJ4y ahOOoiepIHjF7ZJNMD+WHRxcX1SqN8qdVDjwZZbSW2seB4KgetdhycphE9QTDqBR5iz+ kEj4vwY5EoqPjrzZXs95OC/fxTuVCvpFUuiw0fx/uXqlde6kqQs+rA0A2rhsZO5IHmJ2 NN2DPS0wad7n0GcWJplpGyYZM6ey8awLsHnUkVHKpMJ4Np1nwIH+ivq2IIC2wYTsc7Zn 5gqQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=lGIwKmWO; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id gk20-20020a17090790d400b006f38e90d86fsi8677794ejb.256.2022.05.07.20.01.44; Sat, 07 May 2022 20:01:45 -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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=lGIwKmWO; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7A7CC68B308; Sun, 8 May 2022 06:01:33 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7B6D968A466 for ; Sun, 8 May 2022 06:01:26 +0300 (EEST) Received: by mail-pl1-f173.google.com with SMTP id n8so10986350plh.1 for ; Sat, 07 May 2022 20:01:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:message-id:in-reply-to:references:date:subject:fcc :content-transfer-encoding:mime-version:to:cc; bh=MJnXMdit3nZo4IX2PgJfiVDx0wgidIDVebfIhz4u6FU=; b=lGIwKmWOgNtNo7U2h4I3c+3ppQrEELFF4Eqy3u4FaQp5ZP1XIIjWjBMzmY2fHpsZAR pl5EtgNtpDE0TyBVExoUPO7BUgdWJFZbD8B7WOYnhGZQMKc7kvjniA6pYrhygEX81WZV xFoTrAg0UVgp3fCKoPoYGaHqfGH6597wJHzZrl8su75eTntCxP/V/aM2b++8F3Qv20Vz NrN7p+++GgYN1MYTmATFgZ/J4UlvDBrWXCBzWVhcma5PZAEvN0akSMewNgA/bmfmJNc7 jUcKwLgkCSgzPBFu1LrTpnSH0twq1zBIUZhcr8owcJVsFTWzxnRuRPoE+b5fxY33kT9O aFRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:message-id:in-reply-to:references:date :subject:fcc:content-transfer-encoding:mime-version:to:cc; bh=MJnXMdit3nZo4IX2PgJfiVDx0wgidIDVebfIhz4u6FU=; b=iwU+C9EoZk01drosH4SojphNewrAlOxM+iEiuujUrR7TEOpd3MYHzo80cQvHlGpPZl tv0lM8AwzBISbLN+usMJWqw1e7CPiSwVbbkSoawcenYsVHOey9l5azaoVBXEdXs3cOv7 JqLpGE1xW/ZQhaWzw0E1o158qTxUXQIfVVY/WnFw6J+vH0LBtwOQbc5T7JVos87ecDj6 VgCiKdpb13itDtKjSEQXy1Ks1eOhwDt2QHosv+NWtRGM4e8FjTnu+nk5mux+rSQ4CXOq P9p3nRTHH8nHHr1NCTZq+rcfnXx8dK3Lf0WCInrHKbenLN9xwnhYlfeiCxmh3TXkWj0W RFeA== X-Gm-Message-State: AOAM5333ICLlM1IHvABT8aaTvYa+9IyBFkRzfwQ385RQWRWtbAk7AjYr WrmbbYJE3OqxbXZ+zD/oKqLyJ2jHAj69tQ== X-Received: by 2002:a17:90b:1651:b0:1dc:aec3:c17 with SMTP id il17-20020a17090b165100b001dcaec30c17mr11731288pjb.43.1651978884733; Sat, 07 May 2022 20:01:24 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id t27-20020a056a00139b00b0050dc76281a5sm5876232pfg.127.2022.05.07.20.01.24 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 07 May 2022 20:01:24 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: In-Reply-To: References: Date: Sun, 08 May 2022 03:01:12 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v3 01/11] libavformat/asf: fix handling of byte array length values 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: Michael Niedermayer , softworkz Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Yx2FZLbUC8lr From: softworkz The spec allows attachment sizes of up to UINT32_MAX while we can handle only sizes up to INT32_MAX (in downstream code) The debug.assert in get_tag didn't really address this, and truncating the value_len in calling methods cannot be used because the length value is required in order to continue parsing. This adds a check with log message in ff_asf_handle_byte_array to handle those (rare) cases. Signed-off-by: softworkz --- libavformat/asf.c | 8 +++++++- libavformat/asf.h | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libavformat/asf.c b/libavformat/asf.c index 1ac8b5f078..650f55ac3d 100644 --- a/libavformat/asf.c +++ b/libavformat/asf.c @@ -267,12 +267,18 @@ static int get_id3_tag(AVFormatContext *s, int len) } int ff_asf_handle_byte_array(AVFormatContext *s, const char *name, - int val_len) + uint32_t val_len) { + if (val_len > INT32_MAX) { + av_log(s, AV_LOG_VERBOSE, "Unable to handle byte arrays > INT32_MAX in tag %s.\n", name); + return 1; + } + if (!strcmp(name, "WM/Picture")) // handle cover art return asf_read_picture(s, val_len); else if (!strcmp(name, "ID3")) // handle ID3 tag return get_id3_tag(s, val_len); + av_log(s, AV_LOG_DEBUG, "Unsupported byte array in tag %s.\n", name); return 1; } diff --git a/libavformat/asf.h b/libavformat/asf.h index 01cc4f7a46..4d28560f56 100644 --- a/libavformat/asf.h +++ b/libavformat/asf.h @@ -111,7 +111,7 @@ extern const AVMetadataConv ff_asf_metadata_conv[]; * is unsupported by this function and 0 otherwise. */ int ff_asf_handle_byte_array(AVFormatContext *s, const char *name, - int val_len); + uint32_t val_len); #define ASF_PACKET_FLAG_ERROR_CORRECTION_PRESENT 0x80 //1000 0000 From patchwork Sun May 8 03:01:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 35689 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp2386903pzb; Sat, 7 May 2022 20:01:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyHke30fVdVk6wR0wlsrZWNMh628puZH3N8rc/ro/xnguXZzgDPxjU6LccVEnzQ7qWIvKIO X-Received: by 2002:a17:907:4c8:b0:6f3:beac:260c with SMTP id vz8-20020a17090704c800b006f3beac260cmr9197847ejb.321.1651978913620; Sat, 07 May 2022 20:01:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651978913; cv=none; d=google.com; s=arc-20160816; b=Zwr4MWXabAqpLsQlzQqh9ZkyoEG9L9sy2LoLEFcmhfNw2d63ZKw+ln8CaQHUppSuiM CAoLat1/wEwXpb0iphWo/fxyyBaQ/2BetCu5OBXegHcUyvkLebInr0sbukzsGhU6o4Tw WUuXvKUDqdNSTo5GrpmBdyjdMhxnKe538injAh4b+PAsmFpwmQPsENyte2o5eM1bglnz BalsxOQ68ocZO/S2uOsjuxGlgnPbALQFDtNpKwDQlQAQQNS0K5RbW0WKphY8YVLoX5iN RWg8n/B69IIpfPeOx757X0fuYup0DMIQyRBshJ/bQwr+GbP4ULR0im92Oig3CskWrS4m qFnA== 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:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=diTDIugOQ12HUZmy2U9HiP0bkDbTJLJzVqFddn/dpmw=; b=oWLujI4M5sHAu4oSDAJ2ocMrDq6ZKIUMshtnGUGWBswQB8rPZNoMiJCSzYFjMedIZJ M/4/jZT9bJnj28KFvSXjks9uXR4EjwJ7Mr0HvtEqESI+9p0uCa6EnQAX31M7fzkvXYWz b5o6pvuMBARV3D9/1W3NiOzHZX4zZwYOVK0aqOb/AN2wd9OFv3pyvkRV5rq+I6Gwmq00 bMKG6lKHly3xhRwzT/w9zcR5kd3/r2a6p9RNIp7cwZm5UljkqcIAauhVovl+cvDnogkJ CkjdaEQQcnRw1GiR0PVOmd2JgCU9fppwk16fAaWuJWlKufiJbyPslNWlcw7syi9qZeLK kMfQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=gMkRfgRT; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id h5-20020aa7cdc5000000b00425b6b8e8afsi8046322edw.399.2022.05.07.20.01.53; Sat, 07 May 2022 20:01:53 -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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=gMkRfgRT; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7B35C68B3C5; Sun, 8 May 2022 06:01:34 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6868A68B3A5 for ; Sun, 8 May 2022 06:01:27 +0300 (EEST) Received: by mail-pf1-f174.google.com with SMTP id d25so9478240pfo.10 for ; Sat, 07 May 2022 20:01:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:message-id:in-reply-to:references:date:subject:fcc :content-transfer-encoding:mime-version:to:cc; bh=lE4gYMujECG5VhN0uuaJTkOnodOeA90pObCj59GgD0w=; b=gMkRfgRT+4lxKPPxvKxBqJ6TXUWOG5jW9huf8nDRTZQQohXT7DFkIv/HbfvqLTEzFW 283N7IWOAOd8mpSNfahlCTzQX/B35hhjHsT1Xam39LsYRCONe0Llxv8QKDCUw/ey/7mq lqYTqykxJryJKjWQi5237T0a8l/AoevymvRIfLVj8CR9wT1doGeKLqd8AJ3Gd3H3Wmwm Y7iyY3JxqgNSxE1mf0lwKCfzMXPbV6vOhAcXJAtaXWBHC4oiO+M/7eZpGjb/zfrtcPuj FBZIwCXcgHm6srBZ9gMbQ4ctMvRfnyBq9jW7v8LOsJN3K+tzyIeri/EchfA6eBN+oMwz jf8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:message-id:in-reply-to:references:date :subject:fcc:content-transfer-encoding:mime-version:to:cc; bh=lE4gYMujECG5VhN0uuaJTkOnodOeA90pObCj59GgD0w=; b=LvJPui6KDW4pmNxEPgRRG2RVTEyWRIw2naXXwA7fejhixgWHoHv9sY7x/Tmjtt81j3 9X83XEH8v1x+Wy3crlHRoNdw0npHz2moyh4lkKW8/hgG0VUTha21VFLkrEtZX8FFNNwl csqKKplVbEh3o+FEr2bNnoIpnTANWeTsIA+y1xBrsNGqffUY5QEnmu+og+Fv0aep9pVA ug8tuMbrm9PLhi5e5eeWzKg/Ey0Z/3eDTGdjINH6tghu0dmSIsY3s/ewW8Cgqlx789CS XYcLFx3HLtIEoZW908MBaM17wxRdzQeu3aWRgkjUjCVzOo8fwEOqoVsCzyoWMOKW5hdw jsPQ== X-Gm-Message-State: AOAM532rZK2pI/0qUWUwBjzGInHCUR+K0EG46wEZb/y4e+bwNKqELQOD bBjmovr3L93kPbpQDZGVnIqnZZ0+I41nQg== X-Received: by 2002:a63:8ac7:0:b0:3aa:fa62:5a28 with SMTP id y190-20020a638ac7000000b003aafa625a28mr8403264pgd.400.1651978885814; Sat, 07 May 2022 20:01:25 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id ot16-20020a17090b3b5000b001dc4d22c0a7sm6204331pjb.10.2022.05.07.20.01.25 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 07 May 2022 20:01:25 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: In-Reply-To: References: Date: Sun, 08 May 2022 03:01:13 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v3 02/11] libavformat/asfdec: fix get_value return type and add checks for 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: Michael Niedermayer , softworkz Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: hJrrH9KZtTep From: softworkz unsupported values get_value had a return type of int, which means that reading QWORDS (case 4) was broken due to truncation of the result from avio_rl64(). Signed-off-by: softworkz --- libavformat/asfdec_f.c | 57 +++++++++++++++++++++++++++++++----------- 1 file changed, 43 insertions(+), 14 deletions(-) diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index a8f36ed286..0fa2bbf653 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -202,7 +202,7 @@ static int asf_probe(const AVProbeData *pd) /* size of type 2 (BOOL) is 32bit for "Extended Content Description Object" * but 16 bit for "Metadata Object" and "Metadata Library Object" */ -static int get_value(AVIOContext *pb, int type, int type2_size) +static uint64_t get_value(AVIOContext *pb, int type, int type2_size) { switch (type) { case ASF_BOOL: @@ -548,6 +548,8 @@ static int asf_read_ext_content_desc(AVFormatContext *s, int64_t size) { AVIOContext *pb = s->pb; ASFContext *asf = s->priv_data; + uint64_t dar_num = 0; + uint64_t dar_den = 0; int desc_count, i, ret; desc_count = avio_rl16(pb); @@ -567,14 +569,27 @@ static int asf_read_ext_content_desc(AVFormatContext *s, int64_t size) /* My sample has that stream set to 0 maybe that mean the container. * ASF stream count starts at 1. I am using 0 to the container value * since it's unused. */ - if (!strcmp(name, "AspectRatioX")) - asf->dar[0].num = get_value(s->pb, value_type, 32); - else if (!strcmp(name, "AspectRatioY")) - asf->dar[0].den = get_value(s->pb, value_type, 32); + if (!strcmp(name, "AspectRatioX")) { + dar_num = get_value(s->pb, value_type, 32); + if (dar_num > INT64_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported AspectRatioX value: %"PRIu64"\n", dar_num); + return AVERROR(ENOTSUP); + } + } + else if (!strcmp(name, "AspectRatioY")) { + dar_den = get_value(s->pb, value_type, 32); + if (dar_den > INT64_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported AspectRatioY value: %"PRIu64"\n", dar_den); + return AVERROR(ENOTSUP); + } + } else get_tag(s, name, value_type, value_len, 32); } + if (dar_num && dar_den) + av_reduce(&asf->dar[0].num, &asf->dar[0].den, dar_num, dar_den, INT_MAX); + return 0; } @@ -602,6 +617,8 @@ static int asf_read_metadata(AVFormatContext *s, int64_t size) { AVIOContext *pb = s->pb; ASFContext *asf = s->priv_data; + uint64_t dar_num[128] = {0}; + uint64_t dar_den[128] = {0}; int n, stream_num, name_len_utf16, name_len_utf8, value_len; int ret, i; n = avio_rl16(pb); @@ -629,17 +646,29 @@ static int asf_read_metadata(AVFormatContext *s, int64_t size) av_log(s, AV_LOG_TRACE, "%d stream %d name_len %2d type %d len %4d <%s>\n", i, stream_num, name_len_utf16, value_type, value_len, name); - if (!strcmp(name, "AspectRatioX")){ - int aspect_x = get_value(s->pb, value_type, 16); - if(stream_num < 128) - asf->dar[stream_num].num = aspect_x; - } else if(!strcmp(name, "AspectRatioY")){ - int aspect_y = get_value(s->pb, value_type, 16); - if(stream_num < 128) - asf->dar[stream_num].den = aspect_y; - } else { + if (!strcmp(name, "AspectRatioX") && stream_num < 128) { + dar_num[stream_num] = get_value(s->pb, value_type, 16); + if (dar_num[stream_num] > INT64_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported AspectRatioX value: %"PRIu64"\n", dar_num[stream_num]); + return AVERROR(ENOTSUP); + } + } + else if (!strcmp(name, "AspectRatioY") && stream_num < 128) { + dar_den[stream_num] = get_value(s->pb, value_type, 16); + if (dar_den[stream_num] > INT64_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported AspectRatioY value: %"PRIu64"\n", dar_den[stream_num]); + return AVERROR(ENOTSUP); + } + } else get_tag(s, name, value_type, value_len, 16); + + + if (stream_num < 128 && dar_num[stream_num] && dar_den[stream_num]) { + av_reduce(&asf->dar[stream_num].num, &asf->dar[stream_num].den, dar_num[stream_num], dar_den[stream_num], INT_MAX); + dar_num[stream_num] = 0; + dar_den[stream_num] = 0; } + av_freep(&name); } From patchwork Sun May 8 03:01:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 35690 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp2386963pzb; Sat, 7 May 2022 20:02:03 -0700 (PDT) X-Google-Smtp-Source: ABdhPJypTIllEeVzwmonhy9uVbkdHbJgmV4FanDQbCHH48nQQ/KXRW+r0yR5rHBrV2x5OsEx+++k X-Received: by 2002:a05:6402:4310:b0:427:f6e9:76b3 with SMTP id m16-20020a056402431000b00427f6e976b3mr10982644edc.324.1651978923288; Sat, 07 May 2022 20:02:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651978923; cv=none; d=google.com; s=arc-20160816; b=0oWJ/ovJp525Zr3KiFs7pxziKXkcTzKMjFKYgkQAEdJL4bQlxD0o3g5C9lrWosHUz2 0QVA7iR3KIw3KpgXkkJ0jcn4i/gpkbGA6/AQcuZtC9eCE3XwC47njvUGVRA/450WKrY8 VYna6TWd1mDzJCNpW6XXQq2GL+vEGZqBnzy60kO/5gJH+2mPLH/EIbeY7uQDPhU9ND4W gFPPgFFL6T3aXMQYCXUQ7VRwkag6TbfFsYMCnGm1ASckH1Buv+wYnmN8+UYjla5Pueo7 CPfz3E72a3W5xZmD77Nvl1GdDNkQPlZl01l69a1rmM02iLY1oFpePrsHUr9caHxJYqYq ap1g== 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:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=bcZiLo/dOXAO6ZNPN7PfocYtDpl7Wkm66ecygLj0uA8=; b=og1EBlSlcZaKk2L/9p2fVyR7xVIc7hVK8CoUeTu8rTHoNHZn0VsO3+6mBjxmjEgqsP cLrWgwhZa06qMkob5KaqnRdDNcwn3pFXBfAwSHrbsT3iujRxVJQA4D8v/lkkaISZtwzL VuTg1iCgDz3a75BxL+Zlf/PEk2z7ma2rEAE1e5lUr9tiP2otZL9CcW3VrR5jbiFFCh0O MuV9b5M4Xv8D9LhgPBFoqNCPZnKpCJVTCQeSi/TksOuEsfrgqsoGFiZdeSyqHArXIF2F XAjRF/YWC+ExJEgVnwBZ7mq4npSpm/ghkFHSPS2mDpFzvkVq/igYZmxYrMAq03VMHxtf /zUA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=OsKCZHCd; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id z11-20020aa7cf8b000000b00427c167bb29si7976605edx.520.2022.05.07.20.02.03; Sat, 07 May 2022 20:02:03 -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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=OsKCZHCd; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8A34368B3D5; Sun, 8 May 2022 06:01:35 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 463C668B37A for ; Sun, 8 May 2022 06:01:28 +0300 (EEST) Received: by mail-pj1-f50.google.com with SMTP id gj17-20020a17090b109100b001d8b390f77bso14207304pjb.1 for ; Sat, 07 May 2022 20:01:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:message-id:in-reply-to:references:date:subject:fcc :content-transfer-encoding:mime-version:to:cc; bh=U6G3Gcqc4BDvq6czQkc9G5JRQxAYE6REuA4XWF79ATU=; b=OsKCZHCdMEcfHx8sNNhTcyRjAWwEV9kNXaXSVIZ3/TaPFcMRN3dQY5SB8f8Jh2GqRI 4j3aBQUWSWaMLKZJuJ8okW1aaUNMrGpOYID0Mq3jVFQbGE4t7HoM1vuzn/PZrjf/IiJ3 Nq88CqChn8OxtUg/uS0PRjVFPPVxlGGqLextKvri4vwzuzgftBfw79lnv8Yl1WhvrbDO RSlBiuOhvpJjqH2lVVdkP/UoltfouBGoMajxIrksCXt6InWG9nMTHEqewqNpZ5IAqOkP 0TvvnIAiQns0m6LtQs5C//QpmSDamTDOXkY32RBG0CM/GbSkNrR51lXYjXInG3vRH0OQ 2QJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:message-id:in-reply-to:references:date :subject:fcc:content-transfer-encoding:mime-version:to:cc; bh=U6G3Gcqc4BDvq6czQkc9G5JRQxAYE6REuA4XWF79ATU=; b=I7tDVYdxPI9Rafiyxs+o1eC/5qWQw6oR6Ztj9INhPEJS2NQDhfkOL9hUlXISfHkv06 OCnQmoh1h8BCuyGTqI5/5Epmt+V/UnGL7KyF4zFjez/vgFWSyDVzs93oPfr1/K8OC+xw GuGk/5fv74JUhLExUkm4P47nCMXxfAfxWooodxGbvWZyXfPIvIOpjiAqYbKRrFVRk1Kz /ksizxOwOk6qiSSXP2+ydjcaaLXQJ1VYay9UpPgLmLHUKlIV4DlAnzvMHiy23DPZHWFV kZ3HWDoK6b6S5SEzNfvpFtZbQ77EI7NUUIFJ4mL/fp1WuGxmIVMq1mfHBTR6cLzpXcax M+5Q== X-Gm-Message-State: AOAM532n2d272FjugPVW7anL26csY3XktEP8kKLrcmNUrou2C1R5mybP napbp0oFxDp3KSmCtxj/OSkPE+daBgFqXw== X-Received: by 2002:a17:90b:3a86:b0:1dc:228f:6a1f with SMTP id om6-20020a17090b3a8600b001dc228f6a1fmr19956982pjb.230.1651978886748; Sat, 07 May 2022 20:01:26 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id lb15-20020a17090b4a4f00b001d9781de67fsm6206372pjb.31.2022.05.07.20.01.26 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 07 May 2022 20:01:26 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: In-Reply-To: References: Date: Sun, 08 May 2022 03:01:14 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v3 03/11] libavformat/asfdec: fix type of value_len 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: Michael Niedermayer , softworkz Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: FsBbnxnFkmX5 From: softworkz The value_len is an uint32 not an int32 per spec. That value must not be truncated, neither by casting to int, nor by any conditional checks, because at the end of get_tag, this value is needed to move forward in parsing. When the len value gets modified, the parsing may break. Signed-off-by: softworkz --- libavformat/asfdec_f.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index 0fa2bbf653..3014ef558d 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -218,7 +218,7 @@ static uint64_t get_value(AVIOContext *pb, int type, int type2_size) } } -static void get_tag(AVFormatContext *s, const char *key, int type, int len, int type2_size) +static void get_tag(AVFormatContext *s, const char *key, int type, uint32_t len, int type2_size) { ASFContext *asf = s->priv_data; char *value = NULL; @@ -528,7 +528,7 @@ static int asf_read_ext_stream_properties(AVFormatContext *s, int64_t size) static int asf_read_content_desc(AVFormatContext *s, int64_t size) { AVIOContext *pb = s->pb; - int len1, len2, len3, len4, len5; + uint32_t len1, len2, len3, len4, len5; len1 = avio_rl16(pb); len2 = avio_rl16(pb); @@ -619,25 +619,23 @@ static int asf_read_metadata(AVFormatContext *s, int64_t size) ASFContext *asf = s->priv_data; uint64_t dar_num[128] = {0}; uint64_t dar_den[128] = {0}; - int n, stream_num, name_len_utf16, name_len_utf8, value_len; + int n, name_len_utf8; + uint16_t stream_num, name_len_utf16, value_type; + uint32_t value_len; int ret, i; n = avio_rl16(pb); for (i = 0; i < n; i++) { uint8_t *name; - int value_type; avio_rl16(pb); // lang_list_index - stream_num = avio_rl16(pb); - name_len_utf16 = avio_rl16(pb); - value_type = avio_rl16(pb); /* value_type */ - value_len = avio_rl32(pb); + stream_num = (uint16_t)avio_rl16(pb); + name_len_utf16 = (uint16_t)avio_rl16(pb); + value_type = (uint16_t)avio_rl16(pb); /* value_type */ + value_len = avio_rl32(pb); - if (value_len < 0 || value_len > UINT16_MAX) - return AVERROR_INVALIDDATA; - - name_len_utf8 = 2*name_len_utf16 + 1; - name = av_malloc(name_len_utf8); + name_len_utf8 = 2 * name_len_utf16 + 1; + name = av_malloc(name_len_utf8); if (!name) return AVERROR(ENOMEM); From patchwork Sun May 8 03:01:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 35691 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp2387020pzb; Sat, 7 May 2022 20:02:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxgCaUaE58E4PJe4T5RWjnFG/dMQahVGKMv9WIx/Tp5Tpcp6Qwo5tLXERCwZxNHyaLNtE/8 X-Received: by 2002:a17:906:3a45:b0:6f4:e9e7:4ff with SMTP id a5-20020a1709063a4500b006f4e9e704ffmr9083383ejf.100.1651978933625; Sat, 07 May 2022 20:02:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651978933; cv=none; d=google.com; s=arc-20160816; b=HPHhmE6N0QUJLn+3McJog4f1/ZyUqz5aV19Uz3tg1LRddMu0UzxiH6x+3DR9X/i5wd M6H8O3Yln3p3zVRjxEES3UEH8WwLwF+nDqnQVmmaBl9a1KG9lySezvtCGFUnqRM5ezya e99mLGn90aeVz6eCMnuWFMyMr/gPcgC/3Xqa1BixybhcRW2zj7q+z9uZn+XbSFpoZT1D avZwDUgWdwlvaerTUm15ioc5sa+l+aej5LMvBEUWNwTwPNjDNpaJ+HkbAD+zBJtongxy xM7eqvUANFkM48a8AYVo2iSmHmohNncH1AxQ8ZPKJxJ1VJbIllLSX4mLNHyjEkv8QG9p x85A== 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:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=3QvK3GnZB+IeCFGp7qkGRyL+PtWF3kZ7da4Edhzd1sU=; b=uPfNhnSe/V42rSDlpwUqoO0CrgMAloTydqEUDeN4hhZp8fYoPudXInJGS1Os9yjj8D YVgcGe9mE0EhOOe1/9EURpeaWMs/yXiZ2QHNqbo45oAiZj9tBpg3u5H6vYLWBV/YoEdS pI0oOxR+v2CC20xMXChOFUWEs1pUNku+WHK9J62B9qfUDKUgx5T4WOTe9hF9BMSdikFb Bj7mc8uhIkSdHPCoV8UYhVlxoYFQ+FyboQmn9biSM2SoknRFDrJRm19maTwpKCkpnTGk UgS70qpo8G25OlsAVo/PKskcQ1JbvjfEA3hGLxE4Kf9EesHqTbSSBzSJbSv8LafoNeQs lPvg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=WBEuy2Oy; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id la8-20020a170906ad8800b006e8439e78cesi9270482ejb.105.2022.05.07.20.02.13; Sat, 07 May 2022 20:02:13 -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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=WBEuy2Oy; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7597168B3D9; Sun, 8 May 2022 06:01:36 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f174.google.com (mail-pg1-f174.google.com [209.85.215.174]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 482A368B3C5 for ; Sun, 8 May 2022 06:01:29 +0300 (EEST) Received: by mail-pg1-f174.google.com with SMTP id 7so9272270pga.12 for ; Sat, 07 May 2022 20:01:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:message-id:in-reply-to:references:date:subject:fcc :content-transfer-encoding:mime-version:to:cc; bh=X9PSGQ/qjsdRhuEM6meqrojVfgFzi+t8Il41omMHEdQ=; b=WBEuy2OydeznUHtMmhG+1sAfRgx7YtWKNBpBegQenUOPecRKI9G+Q8CBwBXNMzUQPv 3KBzax2v07vEN4dflb7098a4V41Chb7lirZ5A3LoqwVsS2YDkoly8CJKsRkrjh1S7aLq vtWUkOks6Fc7Fghe9f/oFYz0jItUuBoj6t11bGZuoSiNDyX+mTPbqxvlOXe9lI0IaIJq 1H02xc8M2CImlhtFhpa+izNSRS4rVMrHAJUJSipAtygvDbnMJL6Pp0vT71iqgvguDjXn KpPygM+eBNYkLMbx2NFBwN9kCkC0XVk3u98IS7tIwA6zAOx8gGFrSKyyVXXzJGpd07y6 xC+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:message-id:in-reply-to:references:date :subject:fcc:content-transfer-encoding:mime-version:to:cc; bh=X9PSGQ/qjsdRhuEM6meqrojVfgFzi+t8Il41omMHEdQ=; b=LIpb8jm0LzXrAh7q3+PFMMPfRo0ZNWSr1+NBFnd9TYyAZgkPrUPS4c7BHazQe1PTij HiyipZN1UZhSyBivm0HUC3caCbSp9BxekjUBSjDVLpO751w4YFggP00c2pUMYthbfWG6 hBYk+IqkYWbK++/xlPuSfvkFnTBssGFli/TIhzQMnq2mTXk6BcOhlMAy8lmQjVNyznsy NzMKxvJAUoDsEJXIqImBeTJTWlmPIl/eoR694A25Lzrg4VztIjJ8I5ERKN45cQzOTmm2 TF8KbxxzNEnQDSOX/+AebJ8Ml1yHaA1bv6gmbe6/VY2hcUAKs44nVJApq02+z4QBsbNp wmtA== X-Gm-Message-State: AOAM531XAwiSKmEl14ZQgvNHH3HZtE+vsF6N2n159efl2sZBTdJowhHl LVizclGEKyxsPCCpla6aHpBKLqf4erPsBQ== X-Received: by 2002:a05:6a00:1ad2:b0:510:72f6:d039 with SMTP id f18-20020a056a001ad200b0051072f6d039mr9915855pfv.2.1651978887684; Sat, 07 May 2022 20:01:27 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id ay28-20020a056a00301c00b0050dc76281cbsm5685590pfb.165.2022.05.07.20.01.27 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 07 May 2022 20:01:27 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: In-Reply-To: References: Date: Sun, 08 May 2022 03:01:15 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v3 04/11] libavformat/asfdec: fixing get_tag 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: Michael Niedermayer , softworkz Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: dbTYl2/Ta7EC From: softworkz These three are closely related and can't be separated easily: In get_tag, the code was adding 22 bytes (in order to allow it to hold 64bit numbers as string) to the value len for creating creating a buffer. This was unnecessarily imposing a size-constraint on the value_len parameter. The code in get_tag, was limiting the maximum value_len to half the size of INT32. This was applied for all value types, even though it is required only in case of ASF_UNICODE, not for any other ones (like ASCII). get_tag was always allocating a buffer regardless of the datatype, even though this isn't required in case of ASF_BYTE_ARRAY The check for the return value from ff_asf_handle_byte_array() being >0 is removed here because the log message is emitted by the function itself now. Signed-off-by: softworkz --- libavformat/asfdec_f.c | 54 +++++++++++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 14 deletions(-) diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index 3014ef558d..8071325a2f 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -221,37 +221,63 @@ static uint64_t get_value(AVIOContext *pb, int type, int type2_size) static void get_tag(AVFormatContext *s, const char *key, int type, uint32_t len, int type2_size) { ASFContext *asf = s->priv_data; - char *value = NULL; int64_t off = avio_tell(s->pb); -#define LEN 22 - - av_assert0((unsigned)len < (INT_MAX - LEN) / 2); + char *value = NULL; + uint64_t required_bufferlen; + int buffer_len; if (!asf->export_xmp && !strncmp(key, "xmp", 3)) goto finish; - value = av_malloc(2 * len + LEN); + switch (type) { + case ASF_UNICODE: + required_bufferlen = (uint64_t)len * 2 + 1; + break; + case -1: // ASCII + required_bufferlen = (uint64_t)len + 1; + break; + case ASF_BYTE_ARRAY: + ff_asf_handle_byte_array(s, key, len); + goto finish; + case ASF_BOOL: + case ASF_DWORD: + case ASF_QWORD: + case ASF_WORD: + required_bufferlen = 22; + break; + case ASF_GUID: + required_bufferlen = 33; + break; + default: + required_bufferlen = len; + break; + } + + if (required_bufferlen > INT32_MAX) { + av_log(s, AV_LOG_VERBOSE, "Unable to handle values > INT32_MAX in tag %s.\n", key); + goto finish; + } + + buffer_len = (int)required_bufferlen; + + value = av_malloc(buffer_len); if (!value) goto finish; switch (type) { case ASF_UNICODE: - avio_get_str16le(s->pb, len, value, 2 * len + 1); + avio_get_str16le(s->pb, len, value, buffer_len); break; - case -1: // ASCI - avio_read(s->pb, value, len); - value[len]=0; + case -1: // ASCII + avio_read(s->pb, value, buffer_len - 1); + value[buffer_len - 1] = 0; break; - case ASF_BYTE_ARRAY: - if (ff_asf_handle_byte_array(s, key, len) > 0) - av_log(s, AV_LOG_VERBOSE, "Unsupported byte array in tag %s.\n", key); - goto finish; case ASF_BOOL: case ASF_DWORD: case ASF_QWORD: case ASF_WORD: { uint64_t num = get_value(s->pb, type, type2_size); - snprintf(value, LEN, "%"PRIu64, num); + snprintf(value, buffer_len, "%"PRIu64, num); break; } case ASF_GUID: From patchwork Sun May 8 03:01:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 35693 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp2387121pzb; Sat, 7 May 2022 20:02:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzCbtOBhISSrBgxhzUaFx3Mz3XLipATMIF7chAwbfPeVXmktvaiWdh2oc7a5zNLeRJ7O5IP X-Received: by 2002:a17:907:720f:b0:6f8:5c31:4027 with SMTP id dr15-20020a170907720f00b006f85c314027mr4438769ejc.284.1651978954011; Sat, 07 May 2022 20:02:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651978954; cv=none; d=google.com; s=arc-20160816; b=QGD7hDkTFlKDFep+8cw+5ut6t0mnBLXejz+qkTqpJBaAInEruZmRbwWZYLJtqKDzQC Tg8anMJCDov2TqqFty0pmCKvd67rkHdwlj3PSMLc1G4xGtfC7m+mtNNIw+BRv0FjVYkk cXuHYQqLqioy526s7hDXMCktR274Yux7IlEs1ZxMf6vXWbcYyjRe1zzR9+IV26yL7rE4 njW1A3I9enRor3+eS/yByZBZ3uwY3rcPJanPGBFIVxFrin2DGjrhJt548ojqLo/o6XDs tQ/tKUlE9O6ZVJYwtCf1FpVSfgnuuFLQIt09fh/OBbs3Vuz3POjSgLDYEUqmgQK85xjG MorQ== 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:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=/537hF2KPhmHwerzMVPCk8hR/2RZUvgQzUfArBtNxYE=; b=wTCsUNisWYllTmtZ/2hva4RmtqzzJ0k+6Qs2fw01991dsFWt7BpGO/q/x6x7NP9O3X wGqf8n3LqlDcbDO5gY/KLCrfNsiNfh8iMKxN3Mar6e5vyoEts6Mijshf5nTp/rMCQPdf prLdCYDcrV5+xiT6NzTmbiv9XtJX2IbZ2I+dpnQFsL32BW0synDuMAdJc+YIGi3kb9kh k2o20ruAaXow+GzJuS/TBkiv4fU8dZlZNqYnAaBoc+s++h1AF44QVmDL0Ewn6JoEnV6v tunX1k2PVIKsz73HEIHZjTbsjQCvU/Po3eHeYkKU22amuC66wAr/EOQmohSDGIc5SbDU lJng== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=cdFub23G; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id y9-20020a50bb09000000b00425e6976b08si8365396ede.77.2022.05.07.20.02.33; Sat, 07 May 2022 20:02:34 -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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=cdFub23G; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6153A68B3F5; Sun, 8 May 2022 06:01:39 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f43.google.com (mail-pj1-f43.google.com [209.85.216.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6FFDB68B3D2 for ; Sun, 8 May 2022 06:01:30 +0300 (EEST) Received: by mail-pj1-f43.google.com with SMTP id qe3-20020a17090b4f8300b001dc24e4da73so10011456pjb.1 for ; Sat, 07 May 2022 20:01:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:message-id:in-reply-to:references:date:subject:fcc :content-transfer-encoding:mime-version:to:cc; bh=zt6EqWUsVykTMY+oiDur4+IKBrqhHZQ97hzMX+TEWO0=; b=cdFub23G9bQGQPFyhh35j0MSpxKutmw2iUmnUl+2lJJZANF3wC6fptjpmiW5L8wM4j hfPpkuOjVswLmP+GJeU01/8n/FYnXhc9SxszDZ7cPNdmggZsAhoRd2IE1klKDF9eRdLB qltVi58ZFv7Du1Nc5nA2Etlvff+YNbZFtbu8P+wky1l7mQ7r3ZAeY/qfjyAE+F3+rnC7 gdUu7Go8CXMTPnt3pRKUmcbs+gHCpOtzLMQ60oFCt8zZx+Prp+db5Qq5pmAZmqQxaw2z RMGQyjCwN2vrPmqsPOiOhxh/OzW//nGaRpvh/HXh7A3/snV1hV/bn0DpX0gO/GM14/RM bTHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:message-id:in-reply-to:references:date :subject:fcc:content-transfer-encoding:mime-version:to:cc; bh=zt6EqWUsVykTMY+oiDur4+IKBrqhHZQ97hzMX+TEWO0=; b=diMYfQimm4ERtMnS2XsyofQc51p7y88nLzGzLbpgT+iGaJ4uiIbd+p9zOv/7xRHO2A WomEnyKzvCS03V4JVTvyDwa1AgiLNW4G+QTwSHXfXgmHj9QpYZksXPJkTkBIEZBLdkL5 86ZwHpAvlGrmBek1Q6u/gjTrS4mijxxnIIj3vvF13hMp+WlrdOT7usSVbzu+3TGx89Yn v65EJEbtWUsdXO++j6SLohwp9X8r7qBs8Py0kPtbFz91O/pfsR8IjEWMfkUkZJrrPI2s 1Sqnu8aZFOM9Zyg6b+be7zMQbH4ZA2LQwJq/Nyekti+EClGwYEsG8Suf5hdox6O4oT/b j85A== X-Gm-Message-State: AOAM533Jq0DHxwmejycVTsHOW39Yg4D7SjucxhRnDMF8g6AovCPHJxnz sHlj9LlDJmxD7jKfyKtwXXsQl65zPROiuQ== X-Received: by 2002:a17:902:f789:b0:14e:ebbc:264b with SMTP id q9-20020a170902f78900b0014eebbc264bmr10120156pln.169.1651978888674; Sat, 07 May 2022 20:01:28 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id c17-20020a056a00009100b0050dc762817fsm5895084pfj.89.2022.05.07.20.01.28 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 07 May 2022 20:01:28 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: In-Reply-To: References: Date: Sun, 08 May 2022 03:01:16 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v3 05/11] libavformat/asfdec: implement parsing of GUID values 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: Michael Niedermayer , softworkz Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: X6KEZggBPWhG From: softworkz Signed-off-by: softworkz --- libavformat/asfdec_f.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index 8071325a2f..9ad2ca946b 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -280,9 +280,12 @@ static void get_tag(AVFormatContext *s, const char *key, int type, uint32_t len, snprintf(value, buffer_len, "%"PRIu64, num); break; } - case ASF_GUID: - av_log(s, AV_LOG_DEBUG, "Unsupported GUID value in tag %s.\n", key); - goto finish; + case ASF_GUID: { + ff_asf_guid g; + ff_get_guid(s->pb, &g); + snprintf(value, buffer_len, "%x", g[0]); + break; + } default: av_log(s, AV_LOG_DEBUG, "Unsupported value type %d in tag %s.\n", type, key); From patchwork Sun May 8 03:01:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 35688 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp2387164pzb; Sat, 7 May 2022 20:02:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwv9glhYybIcX/x8HiUe6Xqmgp4erLqXuEAZbw2A7MBQVr19nk09/hh7Hw5TWaRTB/2nkNq X-Received: by 2002:a05:6402:440d:b0:412:9e8a:5e51 with SMTP id y13-20020a056402440d00b004129e8a5e51mr10976672eda.362.1651978962638; Sat, 07 May 2022 20:02:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651978962; cv=none; d=google.com; s=arc-20160816; b=qbW1lf3o3KdUw3HP6KkB/t7QINv8qPeDjVkxu9QwC87HUgaB3uhaK/azo9M6y0/+Qb V6E5epyiz0JwmjuPF7d2UMe2PQk4eQ68mNuO3+RSPqIZycb34pWnQdxjLsT0FfEYneUC U5XcqNa3TfBOUqv3hJQbHYXRGPHos8Bk327w7l9sqdy06GjzVj04ky2dSMOYwoKP4x3v juBWiSSzeTYvKEb8wroS6td6go0/DI+f8DMeYrHLP5e0vv9/NLe3cYlW4R3nVP44PM1N +HozSM3BljEnhHRV5Zqlp7/QcjMeFCx8Xa2TyRY913rLOay2//iXVQR4f1Yqv2ccMFr5 8EQw== 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:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=uBpBlg5V/QXytLQl6XhNWkJTHxVlfShrsuDGQNmVdJ0=; b=lEI31NWe3Xho2OyFHdu0I6nyKXy+3sKk2Fo4+59rt0/eiXEK3SFNlWMWtIPc73libk Y7qQDeZpLiBGk8kyODa4ycDREFHARWmJsF59uMbLlRDXmWao2uGyF04KP+k/2OkZH/cg uAOH9hgVCCDlSZaH+TcTMSfuAd3aZkScQb54TZLRQ+OoNULyGvJTwJj1P3fKcOcMKQcb BMRGIMFoBNvNMgediJ5untJMV9ctM4AZHzpQwSfk4EAgsg+JLym1izN90CuOLxhmVX2s qk6o96rSGphksr5DvTNBjm3xDGNqwpGyVLyrQ7ZrItFUWswE6DCCMIml/Bm6XBEm+mth sB1g== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=bIF060dK; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id f15-20020a1709062c4f00b006f4405ff418si8784356ejh.453.2022.05.07.20.02.42; Sat, 07 May 2022 20:02:42 -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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=bIF060dK; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 57E5268B3FF; Sun, 8 May 2022 06:01:40 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4295768B3D6 for ; Sun, 8 May 2022 06:01:31 +0300 (EEST) Received: by mail-pl1-f170.google.com with SMTP id i17so10958432pla.10 for ; Sat, 07 May 2022 20:01:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:message-id:in-reply-to:references:date:subject:fcc :content-transfer-encoding:mime-version:to:cc; bh=n3Sn/82kejjVO/ExQHx3hyBp8otzSjo7yn7XslE8F0Y=; b=bIF060dKgk+kt5CPlvasDjR9wh8nCLX2+4VnOMk33lXrzV7CqO/UfIHUAyr9M0Zn52 vbPgU8hjZLHsRbvNbFkvFbJYEVW35cdRfiK7XH+wunZHrYTH+d2SF60VsDy9aj4ukRS0 htk6EN6uepbkb5412xseHYz6aGFxRZqekCKw/pIKwyO3PHd3rQk9n0IS/djkdx2zR18c Ffaal4+hCjlWNNdNPUaPJ2kXyBtfJEzhfIGgExqIEDoqOvRIBKu23WYbrQfd4BBrThn8 HpjGCWmOD7rsQOezU261kgqp9p850Lmjgo+H9piimwnVe0ikigB/uWy8NPVSz1e4i4Yx VTPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:message-id:in-reply-to:references:date :subject:fcc:content-transfer-encoding:mime-version:to:cc; bh=n3Sn/82kejjVO/ExQHx3hyBp8otzSjo7yn7XslE8F0Y=; b=KLFmNuIAPCbYqjbNNgNrNvazftvLGiItR++1vgfm3CKULUa8hkIW/DJSjZovnagxFg f3BVLY5WCbKTUbOy4GDrF0ZuvtbBFAgw7uBJxqOd1jyRn9CjkiaPSIi3qpArobgVJMmM eKp8TFq02Y7uZcF4CDFAuvd1QDYkUcGX2MpIKsX/Umt0gJtUHq4BM8kvB4KiKEGRotT9 JOklOfav7SIEDJNN7SenUmwgXeV4up2yY35+7yOxxvr1gJO+qXgPiTzoNjNZ16lViROz N58EDNDR9lpbxmGLSxZlcaGPkoaaAey6vjl3LCaRCByehl6XyJW/OuHKNpVrBWU2etdf 54Rg== X-Gm-Message-State: AOAM530yEXPMihBeU+XiZKTpZDTmMSQWUgJHIQ4HLVooOvCSMut1R2wn S5OiOR77k53FCtcmnP4Us/HqxlO7CAxSbA== X-Received: by 2002:a17:90a:4d04:b0:1d9:3f18:f4dd with SMTP id c4-20020a17090a4d0400b001d93f18f4ddmr11586535pjg.111.1651978889646; Sat, 07 May 2022 20:01:29 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id b8-20020a62a108000000b0050dc762816fsm5901353pff.73.2022.05.07.20.01.29 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 07 May 2022 20:01:29 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <06062da88b64557b819d0aeb1f0614a2d1a6a79c.1651978882.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Sun, 08 May 2022 03:01:17 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v3 06/11] libavformat/asfdec: remove unused parameters 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: Michael Niedermayer , softworkz Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: kIMQPIuEUjnD From: softworkz Signed-off-by: softworkz --- libavformat/asfdec_f.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index 9ad2ca946b..19b4a5fad1 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -299,7 +299,7 @@ finish: avio_seek(s->pb, off + len, SEEK_SET); } -static int asf_read_file_properties(AVFormatContext *s, int64_t size) +static int asf_read_file_properties(AVFormatContext *s) { ASFContext *asf = s->priv_data; AVIOContext *pb = s->pb; @@ -494,7 +494,7 @@ static int asf_read_stream_properties(AVFormatContext *s, int64_t size) return 0; } -static int asf_read_ext_stream_properties(AVFormatContext *s, int64_t size) +static int asf_read_ext_stream_properties(AVFormatContext *s) { ASFContext *asf = s->priv_data; AVIOContext *pb = s->pb; @@ -554,7 +554,7 @@ static int asf_read_ext_stream_properties(AVFormatContext *s, int64_t size) return 0; } -static int asf_read_content_desc(AVFormatContext *s, int64_t size) +static int asf_read_content_desc(AVFormatContext *s) { AVIOContext *pb = s->pb; uint32_t len1, len2, len3, len4, len5; @@ -573,7 +573,7 @@ static int asf_read_content_desc(AVFormatContext *s, int64_t size) return 0; } -static int asf_read_ext_content_desc(AVFormatContext *s, int64_t size) +static int asf_read_ext_content_desc(AVFormatContext *s) { AVIOContext *pb = s->pb; ASFContext *asf = s->priv_data; @@ -622,7 +622,7 @@ static int asf_read_ext_content_desc(AVFormatContext *s, int64_t size) return 0; } -static int asf_read_language_list(AVFormatContext *s, int64_t size) +static int asf_read_language_list(AVFormatContext *s) { AVIOContext *pb = s->pb; ASFContext *asf = s->priv_data; @@ -642,7 +642,7 @@ static int asf_read_language_list(AVFormatContext *s, int64_t size) return 0; } -static int asf_read_metadata(AVFormatContext *s, int64_t size) +static int asf_read_metadata(AVFormatContext *s) { AVIOContext *pb = s->pb; ASFContext *asf = s->priv_data; @@ -702,7 +702,7 @@ static int asf_read_metadata(AVFormatContext *s, int64_t size) return 0; } -static int asf_read_marker(AVFormatContext *s, int64_t size) +static int asf_read_marker(AVFormatContext *s) { AVIOContext *pb = s->pb; ASFContext *asf = s->priv_data; @@ -781,21 +781,21 @@ static int asf_read_header(AVFormatContext *s) if (gsize < 24) return AVERROR_INVALIDDATA; if (!ff_guidcmp(&g, &ff_asf_file_header)) { - ret = asf_read_file_properties(s, gsize); + ret = asf_read_file_properties(s); } else if (!ff_guidcmp(&g, &ff_asf_stream_header)) { ret = asf_read_stream_properties(s, gsize); } else if (!ff_guidcmp(&g, &ff_asf_comment_header)) { - asf_read_content_desc(s, gsize); + asf_read_content_desc(s); } else if (!ff_guidcmp(&g, &ff_asf_language_guid)) { - asf_read_language_list(s, gsize); + asf_read_language_list(s); } else if (!ff_guidcmp(&g, &ff_asf_extended_content_header)) { - asf_read_ext_content_desc(s, gsize); + asf_read_ext_content_desc(s); } else if (!ff_guidcmp(&g, &ff_asf_metadata_header)) { - asf_read_metadata(s, gsize); + asf_read_metadata(s); } else if (!ff_guidcmp(&g, &ff_asf_metadata_library_header)) { - asf_read_metadata(s, gsize); + asf_read_metadata(s); } else if (!ff_guidcmp(&g, &ff_asf_ext_stream_header)) { - asf_read_ext_stream_properties(s, gsize); + asf_read_ext_stream_properties(s); // there could be an optional stream properties object to follow // if so the next iteration will pick it up @@ -805,7 +805,7 @@ static int asf_read_header(AVFormatContext *s) avio_skip(pb, 6); continue; } else if (!ff_guidcmp(&g, &ff_asf_marker_header)) { - asf_read_marker(s, gsize); + asf_read_marker(s); } else if (avio_feof(pb)) { return AVERROR_EOF; } else { From patchwork Sun May 8 03:01:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 35695 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp2387251pzb; Sat, 7 May 2022 20:03:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyitmPP12DibUEIxpM9ANpmKh7GxCfM7P01iiMwu3yE36+GfPcjj8iZAn4JSy0p7u2AAU4M X-Received: by 2002:a05:6402:909:b0:416:6f3c:5c1d with SMTP id g9-20020a056402090900b004166f3c5c1dmr10799647edz.108.1651978980258; Sat, 07 May 2022 20:03:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651978980; cv=none; d=google.com; s=arc-20160816; b=YYH0uyNjjl5B/1ACMlH1+1xHkUGPoyRQZzt4YNc0n0nxLUEPDS66vxfhScmHXLvr2k 44Xh38aJf/813dRnKS3fDExG0QWispZaWTW4FhLdSEYG1jt9++8BiPnvPlYbWBUU2Rfo kFBLs6wtVQXcj+/NjgPnE646HX2AQdfwGTI8An01v4W1Mzw5Q6Zg/oeCc3jbRj9I5s78 VtchIgFi/2F6yOTEQxa3kIubON+QQ3FhiOFRJIHsYh4WnAMqvCoGy1Kr0BVMjMYrTsCx 9V054z1UUknfMh7Zt5aTX2WC5yz1GHQnyz314Dq8vtKlwHtyCkmzHmkppJZoAEY47MFk sooQ== 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:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=Hn/boX+toqqgLJC0+JcoaAL6kipP7ijr6/4KgK3RmQk=; b=ziusoP4SkVbcPsaDuQ/1RqkS5yhCerrf+dmuwMopeDORwpJqn/ELt3AoOPEiYynk/U YUV1TTV7vODxn6+H3dtPEN2yofraFrlwg+fnOSYHvXTnjInScXwAjtrWptS/KstElg6G zNa+HlF/5rOJQ2+IV1SD0JGgiJMCGFlWPVxwt/VX6PW1f69AWs3JPaItgkCBVwjK/2qc qvYwZNQumvoqal8rRpcAvuykdVumvb0rFdzFp3jMaOe0x8oRSDr/cLEoDCm/ypNmYUMr X28TBX8gkik5AWCYPatEGVHIeTOb7/gdnSxiRxCe1pJGacNhm1UtOHHDaN2DnFfynDgO MiUw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=dQGkaOOg; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id l13-20020a056402344d00b0041d983f82adsi3611925edc.43.2022.05.07.20.02.59; Sat, 07 May 2022 20:03:00 -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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=dQGkaOOg; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 759FB68B3DE; Sun, 8 May 2022 06:01:42 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 283D768B3CD for ; Sun, 8 May 2022 06:01:32 +0300 (EEST) Received: by mail-pf1-f172.google.com with SMTP id p12so9509064pfn.0 for ; Sat, 07 May 2022 20:01:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:message-id:in-reply-to:references:date:subject:fcc :content-transfer-encoding:mime-version:to:cc; bh=uVlPASh8hnw8oWKHc8DN6rK5jFBoknDfgebCfWYWoe8=; b=dQGkaOOgtU+IlsLlqErFXGR4DKhRgFwg8Zv1Hb3iqXDkjU51gZg3f7CWPnQ64dDkHA +T7dOBpG1oPzCZwGh2U3NQjX+RYZkssp5pINDwsu2TMguO7EJRpgZQVe8YgHiRLmXIXJ TtEjmSK2UEm/e9I8KsA6elCdxllORpcGMWhScGAJaRRVoH2k0P7ik5I7skl+GZ/+GsmL gWNHp5392hUA/6QqahwlTfZzLihl93xUyo0dLqx++VFPfwpaTb3VtF+hQ16QKiZQ8AAm 6Zpkuye0JT8hAviBV0U73U9dMvkyz7PNJrm96gH953ocCxKZh036JjJpQnbyNAX8RtSc ojWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:message-id:in-reply-to:references:date :subject:fcc:content-transfer-encoding:mime-version:to:cc; bh=uVlPASh8hnw8oWKHc8DN6rK5jFBoknDfgebCfWYWoe8=; b=7qOga1m7Pg1MCsHJX+oFEGAkzdMW9s+H/39c+6oPq6CK/roWsqrIkaHwxScQeibSo4 8fKx5ViPYBvHqlrw1FElpzjYTKVMioR6NmVX4U2SeDPHaAQrY/tsUoUK+Bnel1zmvoCT ZEoKC6E4wU8H3eg2KfsgcRBXcaoPK0o6ZtjpsOFyDHd5TeUp+zmqDdJ4FxgP4wYxoABb 7sRHEUGBj/gACunlzar56Ie3e+Gxz+MHKDnnYUaDHcRNzpGknrTIi5nVfCLeYyCbbsyO tUEvSLXOFVcvYjLvbfFt8UFDUW2hk+Ptbnot9kqVCS2g4KbNWO3Se9Q+FH7115zrg5Tl sl5Q== X-Gm-Message-State: AOAM531c5ztN7IaXR6buVSSSDUE+nHwNtUrR7BFoKTCANjFFbLUaGK1C ZIYHPnQmuUqj0uIkR2lhNZgQBtN5kS0/Ng== X-Received: by 2002:a63:90c3:0:b0:3ab:24df:fa19 with SMTP id a186-20020a6390c3000000b003ab24dffa19mr8278243pge.608.1651978890662; Sat, 07 May 2022 20:01:30 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id s7-20020a170902988700b0015e8d4eb1f2sm4387183plp.60.2022.05.07.20.01.30 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 07 May 2022 20:01:30 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <273823a5b4908e247c387014c0b40887ceac3ea1.1651978882.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Sun, 08 May 2022 03:01:18 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v3 07/11] libavformat/asfdec: fix macro definition and use 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: Michael Niedermayer , softworkz Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: bqnSS3L90ke/ From: softworkz Signed-off-by: softworkz --- libavformat/asfdec_f.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index 19b4a5fad1..9a6f45d9a5 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -905,21 +905,21 @@ static int asf_read_header(AVFormatContext *s) } #define DO_2BITS(bits, var, defval) \ - switch (bits & 3) { \ + switch ((bits) & 3) { \ case 3: \ - var = avio_rl32(pb); \ + (var) = avio_rl32(pb); \ rsize += 4; \ break; \ case 2: \ - var = avio_rl16(pb); \ + (var) = avio_rl16(pb); \ rsize += 2; \ break; \ case 1: \ - var = avio_r8(pb); \ + (var) = avio_r8(pb); \ rsize++; \ break; \ default: \ - var = defval; \ + (var) = (defval); \ break; \ } @@ -1002,9 +1002,9 @@ static int asf_get_packet(AVFormatContext *s, AVIOContext *pb) asf->packet_flags = c; asf->packet_property = d; - DO_2BITS(asf->packet_flags >> 5, packet_length, s->packet_size); - DO_2BITS(asf->packet_flags >> 1, padsize, 0); // sequence ignored - DO_2BITS(asf->packet_flags >> 3, padsize, 0); // padding length + DO_2BITS(asf->packet_flags >> 5, packet_length, s->packet_size) + DO_2BITS(asf->packet_flags >> 1, padsize, 0) // sequence ignored + DO_2BITS(asf->packet_flags >> 3, padsize, 0) // padding length // the following checks prevent overflows and infinite loops if (!packet_length || packet_length >= (1U << 29)) { @@ -1065,9 +1065,9 @@ static int asf_read_frame_header(AVFormatContext *s, AVIOContext *pb) asf->stream_index = asf->asfid2avid[num & 0x7f]; asfst = &asf->streams[num & 0x7f]; // sequence should be ignored! - DO_2BITS(asf->packet_property >> 4, asf->packet_seq, 0); - DO_2BITS(asf->packet_property >> 2, asf->packet_frag_offset, 0); - DO_2BITS(asf->packet_property, asf->packet_replic_size, 0); + DO_2BITS(asf->packet_property >> 4, asf->packet_seq, 0) + DO_2BITS(asf->packet_property >> 2, asf->packet_frag_offset, 0) + DO_2BITS(asf->packet_property, asf->packet_replic_size, 0) av_log(asf, AV_LOG_TRACE, "key:%d stream:%d seq:%d offset:%d replic_size:%d num:%X packet_property %X\n", asf->packet_key_frame, asf->stream_index, asf->packet_seq, asf->packet_frag_offset, asf->packet_replic_size, num, asf->packet_property); @@ -1143,7 +1143,7 @@ static int asf_read_frame_header(AVFormatContext *s, AVIOContext *pb) return AVERROR_INVALIDDATA; } if (asf->packet_flags & 0x01) { - DO_2BITS(asf->packet_segsizetype >> 6, asf->packet_frag_size, 0); // 0 is illegal + DO_2BITS(asf->packet_segsizetype >> 6, asf->packet_frag_size, 0) // 0 is illegal if (rsize > asf->packet_size_left) { av_log(s, AV_LOG_ERROR, "packet_replic_size is invalid\n"); return AVERROR_INVALIDDATA; From patchwork Sun May 8 03:01:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 35696 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp2387298pzb; Sat, 7 May 2022 20:03:08 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwyGN2QktOg29BBJ9FMoExabe1c/+tJkSO8sA6z/GVMSIXungzSEHG1rElkSH/hZ3pDgnx+ X-Received: by 2002:a17:906:32d5:b0:6f3:be75:8485 with SMTP id k21-20020a17090632d500b006f3be758485mr9259675ejk.685.1651978988671; Sat, 07 May 2022 20:03:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651978988; cv=none; d=google.com; s=arc-20160816; b=Dv7jaxuEo3oOEDu/zB2Zyb1+BaF6XddhcCUGRBZrvXLWE3Ktg16TEslKXp4q9Q4a7T SSTztBXO8G0sraRVW33BrtDlPdF4AzDPrZIXXGW/vptpS4SYM9vWUljKDatWIRxaTqtx fwjoNIEN7YuEfXa79daeO2xS8kB4fLmFjsQ0ByO+s+0hNBQ9MAioY+R1A4oj6X/+rgwK Lq1Yf4WPkKjPpcTAw/o01NX5UJ/FomSF3GVKwo8y9FsnD+zGdgO5STTKGizGnICHKBTx hTPQhxD4WknIOHpBv419sH7FiqOrM8ubk/t3+pmT9KyFi5PLzpNXaaQAE1VGSHeLzpeb XWnQ== 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:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=ejKjeu8WVLmAIJ+I0QgrVMuVThAJnHx9lR5YANX7aNQ=; b=xDbp18RrIku/iSSrDl8CUGgEAnxqNpyMIw4YbySIGDoQKpDA+wBTuq27l2yOyCSYHP SPVmnwMKu4ZsbNbg7ZehOajLflzhriYUQTECW9q6iCKZdvMg2yPL4thoz5JlInmwr78P PIltk5VR1xexF6W4NiLH++EGBlbKgCrvs0TpCkPwpe6Yoi3NFsdxu5DcRVNe/my45kEb D9U9QJhvyRh2jSfjQvAQiSjluf2eu2DYPef/mt7/fdHZh9JTHwTVuT48exHv/Rx1HCPm EpQrKH1nhkf1GgAjQB87uxJ3LUfNZ8XbwOS2I2a5+g2QsPXM+5jopRlVahxtmTNT1V6d J4nQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=Gr2L6BX6; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id y13-20020a170907250d00b006f000860e56si7879732ejl.93.2022.05.07.20.03.08; Sat, 07 May 2022 20:03:08 -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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=Gr2L6BX6; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 76DE768B417; Sun, 8 May 2022 06:01:43 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1ACFF68B3F4 for ; Sun, 8 May 2022 06:01:33 +0300 (EEST) Received: by mail-pj1-f41.google.com with SMTP id iq10so10363459pjb.0 for ; Sat, 07 May 2022 20:01:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:message-id:in-reply-to:references:date:subject:fcc :content-transfer-encoding:mime-version:to:cc; bh=AwZsZwrhC1wljXcOzqR7Cj5P2xoJ+zfjBno70wqSgM8=; b=Gr2L6BX6VRe8eiZ98AtxfzHYTsLoJDfW33Y8Y0veBhgGuKNgK1XnLlUylw6YmCYVcB qFohVGC5z1RERSRyjRwu7HHqQVi0ZcuD5rbXnkQ2+v3nWnyKAUV/t0lG6jZAf2/hMhxg MTnMpYJWlbTwhKfJiC9oEbRmFTwJxsaHmNMHhp7qiRmTLFP2RGjfy0d/wRCAgV9IebQn 8ntwkIseHWoPw5raolUEAv6UwA2vxGITpNNludvu8ZH6R23tFq22HmkJ9OvhpuvE7Lqp yYlLCy+IG10VSme6RfU1OMFR8I4+o5roYRPpMX+W2G6Sv+3XDL/hg7GvQOVBXgO5xO0k KiOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:message-id:in-reply-to:references:date :subject:fcc:content-transfer-encoding:mime-version:to:cc; bh=AwZsZwrhC1wljXcOzqR7Cj5P2xoJ+zfjBno70wqSgM8=; b=ORdhkhsdr2HquXHZ9+lBnJQW8xqTK3oumatf63VgqNh2mX/7j5osI1tBgr3wi1fLzn C22E4pXPAoaSbjb0nYWqRWFZYa/ttiT+NOBa7O67f6CI9YtMsYy/Jbb+7slAFVhevgk8 J0DMlEDJC6y54cwytA2/4QWzSpWqcZ1TRYAxk94lL2zVJo2/OhRnAdkrBgO3qHrp4ehB SrE26ufdLZfa49nPzffvxQLWDczXPoW0eXfjz9mJiF+2vlc2CWGkShnAnbESUurytLoN bSDx1P785Q5Yfgmy0DfrxJY+tyPBpUrUBB94xYCR4gdegBStJjuJ1O5IAp8WJCxBQ/5b azjQ== X-Gm-Message-State: AOAM532yQtuoGA96P+uPhR+tmpz7rAYKiwCzjTLwPvL/T+HYamkGwv4s sY9dyO6J+B+AjxJg+9Fz7yZvkk+scZhp+g== X-Received: by 2002:a17:902:e882:b0:15e:b9e8:ba1b with SMTP id w2-20020a170902e88200b0015eb9e8ba1bmr10527452plg.71.1651978891564; Sat, 07 May 2022 20:01:31 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id oc15-20020a17090b1c0f00b001d93118827asm6215850pjb.57.2022.05.07.20.01.30 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 07 May 2022 20:01:31 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: In-Reply-To: References: Date: Sun, 08 May 2022 03:01:19 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v3 08/11] libavformat/asfdec: remove variable redefinition in inner scope 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: Michael Niedermayer , softworkz Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: S0TKoaZvoJm3 From: softworkz Signed-off-by: softworkz --- libavformat/asfdec_f.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index 9a6f45d9a5..928e5717fc 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -1190,7 +1190,7 @@ static int asf_parse_packet(AVFormatContext *s, AVIOContext *pb, AVPacket *pkt) return AVERROR_EOF; if (asf->packet_size_left < FRAME_HEADER_SIZE || asf->packet_segments < 1 && asf->packet_time_start == 0) { - int ret = asf->packet_size_left + asf->packet_padsize; + ret = asf->packet_size_left + asf->packet_padsize; if (asf->packet_size_left && asf->packet_size_left < FRAME_HEADER_SIZE) av_log(s, AV_LOG_WARNING, "Skip due to FRAME_HEADER_SIZE\n"); @@ -1259,7 +1259,6 @@ static int asf_parse_packet(AVFormatContext *s, AVIOContext *pb, AVPacket *pkt) if (asf_st->pkt.size != asf_st->packet_obj_size || // FIXME is this condition sufficient? asf_st->frag_offset + asf->packet_frag_size > asf_st->pkt.size) { - int ret; if (asf_st->pkt.data) { av_log(s, AV_LOG_INFO, From patchwork Sun May 8 03:01:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 35697 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp2387355pzb; Sat, 7 May 2022 20:03:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy26kXqnGSSd8ihf/fai5FseXMu6o9tjusXeFzA2cYAXaalrBe6fQ00oWM5HLFRZ+mHNmdc X-Received: by 2002:aa7:da12:0:b0:427:b434:a374 with SMTP id r18-20020aa7da12000000b00427b434a374mr10674601eds.408.1651978997382; Sat, 07 May 2022 20:03:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651978997; cv=none; d=google.com; s=arc-20160816; b=eLHZ3qjQxF2LJTeveC5rOsJ2SY89fzBW/yBOpyUwo0Z9Ji664z9UY7warKMfoc28ij d0mG0oT24DR6ksDvlA88hw9R6L4rw/c6QXt6ZOnpgFxZ6PnhkdrRs1kMOkRW76yO15hX bBgXQgtdbpjnr9oj03OSexXSA4k1SRQIOcs04mblZYkBzVAya3iah9A/x0Kr+DdnczfJ P9R4WDmVcEsfp5PSmlu7vQUicm/Fge+Cnc/A9sTIS/+k1a9zMnZrFNj+M1wVYrnFuOfk wiwL6Kzi9BpysRqUhDvv5Gm6YPQl/BqomhNYItxq8doaQpOGqyfzefpaC8dIjnkDW0og 9z0w== 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:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=wkmwRFo6jFauXiGn1akmBSYrUvL9KN8kY0aIH6cGRFM=; b=gLtNAWL8I3v0ilH0fEOBNnr32mzG7Stp655DpysUWBv5QK9k4QnmYFaqMLUCg9QxOL 2NxkWmQM5a7JLPT+BI9rbe/3bpkGjRy8Tcd/5oip22HpRM/eH4KmCxb3BgJjYSEOCLuy MxrEfKKXJW6hyKnB2V2kGCWAZZHyec7mpNWszJ6hpVtOrcTVM+lFzVdHYUTv3zT+8k0J yoO8y/WX+TTMYn61UmHK0wdwnf+nil/e7+tmaLaVEJ5D6X3t/IWN1R0ANs28k/CQEQg+ 56Am56cwyVArPOVgw8/wAEOpP7MeKE07fAJxeD4bIjb3rwoYlpgYi76wVfKQKR2BB8X2 6Kvw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=eF4jMdlq; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id w6-20020a50c446000000b00423f2d8e1a3si8939040edf.436.2022.05.07.20.03.17; Sat, 07 May 2022 20:03:17 -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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=eF4jMdlq; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 78EE268B41D; Sun, 8 May 2022 06:01:44 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1E06A68B3F7 for ; Sun, 8 May 2022 06:01:34 +0300 (EEST) Received: by mail-pl1-f174.google.com with SMTP id x18so10964037plg.6 for ; Sat, 07 May 2022 20:01:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:message-id:in-reply-to:references:date:subject:fcc :content-transfer-encoding:mime-version:to:cc; bh=G0TwE8pc2OOqeJTkSMFfmIu5DtckVL72ffY5iSDXE9E=; b=eF4jMdlqOz2W2DjpFXtd1qPcWk4K7iAxJjDYoxY0pIXHCw3noLG6ACK4C2NQ8EHezF nfEOlwsTa188sfgthY65UN/otnY0Fe6uKdv/kAsBMTgV5ynhzn6BNxHyhrzryiG0zCYA xk+M0Ptrsao+6blr0UMHZI6Ib+17FfD7pSxQmQRIjcX+QULnHF77eojRqLTOHRfVmHfy Vn0S+iQvPBqAO9G4NrjqOqvColQ2QaJqG7u30PBCyUTmzJuJHgkFMeKvmpitsb9FZIHq Q79/Sgd1z6Fpf7kFY2VEa8QqnUES5/ldjI0sMVssvzTV7InPrY8SSFcd37rDhVcuyYyl G8iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:message-id:in-reply-to:references:date :subject:fcc:content-transfer-encoding:mime-version:to:cc; bh=G0TwE8pc2OOqeJTkSMFfmIu5DtckVL72ffY5iSDXE9E=; b=yPdOggvdhUK+njm5WAhnMtlk1pTFCSVZ8TrIr56UaFb9zU+DlZtUbxoLlHe/YL/FQ0 4fy6q67HpntzsK0Cx32K7lJxHFrNTJv5vSR07Rv/GJvwnwTg4H6GtarFTp1RoJnTTC1q CdvQqUJlBVDfu+aRwRBQF4mRyYXXW45TVA1Rm9a42uGAcejriWjZ5J3WFN9hkDKZxYFe Zksw81745jNiWZjzhli0lZuyQJGYfuW7YcwYqfGdkbstbT8BsYuko+dBsOEIfoO3gm3G Zgi7GA7Q9EmLJePavtQfwCA21cjttqxrCimAMxFlvHMgkHv8mfAmg3K6Z3NWs9DY1Lox 2ryg== X-Gm-Message-State: AOAM5305kstZQEymxhgnKxE4Y4OB/DNAcR8JEe+ZC02D0+o8ahXoXvz9 09sZALyW0qVQ8wm1zi9TU5s9KHH2u3uWrQ== X-Received: by 2002:a17:903:124b:b0:15e:84d0:ded6 with SMTP id u11-20020a170903124b00b0015e84d0ded6mr10524358plh.141.1651978892500; Sat, 07 May 2022 20:01:32 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id w10-20020a170902d70a00b0015e8d4eb1bdsm4308530ply.7.2022.05.07.20.01.31 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 07 May 2022 20:01:32 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <6aedb68b76509e9ae8c6c9234d41b23a8abf0075.1651978882.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Sun, 08 May 2022 03:01:20 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v3 09/11] libavformat/asfdec: ensure variables are initialized 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: Michael Niedermayer , softworkz Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: yBQdmj3lb0kB From: softworkz Signed-off-by: softworkz --- libavformat/asfdec_f.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index 928e5717fc..4af8200f89 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -977,6 +977,7 @@ static int asf_get_packet(AVFormatContext *s, AVIOContext *pb) avio_seek(pb, -1, SEEK_CUR); // FIXME } } else { + d = e = 0; c = avio_r8(pb); if (c & 0x80) { rsize ++; From patchwork Sun May 8 03:01:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 35692 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp2387084pzb; Sat, 7 May 2022 20:02:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyZBUZPQ+xBPFq5rhLbQrOAHHq/za0Y2aSylcWyKAJIuuKeZMdmezagwcUXGzy0cpvPasmg X-Received: by 2002:a17:907:16ac:b0:6f4:60e1:723b with SMTP id hc44-20020a17090716ac00b006f460e1723bmr9343499ejc.272.1651978944269; Sat, 07 May 2022 20:02:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651978944; cv=none; d=google.com; s=arc-20160816; b=ct1FVqpawjk4RPY7cZrSDhjBjbaLqmOt54EPtcCeS7vdS2CziXEuacKsgUujeKUQGS RhrskcrV85Q7FQLnFfjBxk+Nn0OUXiy9FltgFVvZl8Ch9fCStpg9G4+YUpRr5LvNXM6m xoxRk2Y8DhWDF5FQ7ipaZiRiDRU90ew79xg5dX6Q5/zEf4I3V8h2Ivnpo3cWDahQiX/d R6JSQVjMIzzmxz5xuchf5C8hwvaRmYuSozbZPanzPyxMwPapmLL76i7U71IET3RKpVnv Tl6iZlVHAlUWE/nU0QSieAtxsSKiNhujBHmjZ5WjSdkPkA5q4NeVdR2/mKYfPczRLDIP ubTQ== 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:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=e9kekgyw/Sb9KiSAqqj4SPyXmoQtJpDX7QhvgqmkkUc=; b=P/KbDStF4NyqfM2TdXR2ARZ1fthz/RTraCEdNRJs1jZS0Tgtkb09q/jG35b0GTdVB7 zYHBbORCOR4PaHZQM39s0oBfgHDcKg1xcdMJ6I/JGIIxlAIeVfzjxzr6b+ykKlkzEmGo IHf2OscqFjReuq3u3c8p6UHInjFrlfyfeRnTw05+pm6kIps2n3xPkOntnE6+9jUjwunc R7Z6z/goFAanyc6FS/WcH7x3odAmugrItXUtIFa6pm78ZkimEgIPsh2o87JJH5/PKIkV ErQ2zy8x/N/oJoEQkVi8pxG5b4v9TkJubHEbNjycQrAgPxx5WNVX2J9W3NQgjWIGReOK LCtQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=B9ERc7qD; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id q7-20020aa7d447000000b00425ff4df720si8417726edr.560.2022.05.07.20.02.23; Sat, 07 May 2022 20:02:24 -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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=B9ERc7qD; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 58CBD68B3F4; Sun, 8 May 2022 06:01:38 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f43.google.com (mail-pj1-f43.google.com [209.85.216.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 140A168B3B2 for ; Sun, 8 May 2022 06:01:35 +0300 (EEST) Received: by mail-pj1-f43.google.com with SMTP id qe3-20020a17090b4f8300b001dc24e4da73so10011509pjb.1 for ; Sat, 07 May 2022 20:01:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:message-id:in-reply-to:references:date:subject:fcc :content-transfer-encoding:mime-version:to:cc; bh=FqTrsEzOLZdJ3JisYAuATIzPvCad0pZ0vkF/T0m4VDU=; b=B9ERc7qDTwawF4pvTfkQ81b5uNQt8Zz2aMmSvLYf110clslLeIkiI/XY2rZgMazPWX gnBCtAs8WGDViilxHotGYwAgJLgizlXXCSBQiz6ZtbCa1InQzNVrqgcqojQgIi/h9X2P 5/cj0VxShGsWavygURJIcf55SXWCG+DlFt/o83UoCpQpI29G0gHzVQpKWGXhXTBd3/re oKld1ZBgrcz84MAnae2Oyju6BKtLySdEB/vtPBgMA+HDZKweUNj7cXbZatbQyT5uU6fd XLhryRdXX5fa95tYtMhT0Ys6+8m6R0jzsVSrlob8uVBH4UcnW7Y55kFEkWw5TVhtcy5G B6ag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:message-id:in-reply-to:references:date :subject:fcc:content-transfer-encoding:mime-version:to:cc; bh=FqTrsEzOLZdJ3JisYAuATIzPvCad0pZ0vkF/T0m4VDU=; b=1Lq1odE0KYjf9inmeVzxQmUVT0VIQCGbRRm59CfJDyPui3p1e4JoMnKPPt04q2dA8f P/bachAJCb46g6xkim9nqacBkffO2W70G9+JL+G2WV0LZ6D7yzUG+0u+ZK74V5/lRl4s E0p9WimG9J3Ti1YrWcs7m0NEUjTXC3L2+T1Uz7WGE/oev2DUlX7sPG66S0X2qMLlYfKp EFjoxrlP+ihYwFqviO4jGJFD/TtTtmfUJ+NdaEXQX6MGl3M+0xurFHxU6CVXcxF1EvD4 6QWnrAhe/tSV7Hoy+UAMmUyws/PX9vUa0CLx6Ej8zdXqZSXbpxw/neVmvS4Qh4ZJOKgN sH3g== X-Gm-Message-State: AOAM531gXNKoVCmtqLZghOboS/+yCbvCLMqzZ6MAeE6m+6Ngc0UWAhcb t2Y/8JketbVY0EUK4nzx7g6eJZctlkF3Xw== X-Received: by 2002:a17:902:a981:b0:156:52b2:40d6 with SMTP id bh1-20020a170902a98100b0015652b240d6mr10560403plb.34.1651978893542; Sat, 07 May 2022 20:01:33 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id r7-20020aa79627000000b0050dc76281f8sm5948475pfg.210.2022.05.07.20.01.32 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 07 May 2022 20:01:33 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <28ebbe7289e1de806fd17cf9fa5961db2786802e.1651978882.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Sun, 08 May 2022 03:01:21 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v3 10/11] libavformat/asfdec: fix parameter type in asf_read_stream_propertie() 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: Michael Niedermayer , softworkz Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: FrGQC6GwPieE From: softworkz Signed-off-by: softworkz --- libavformat/asfdec_f.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index 4af8200f89..3663f31330 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -323,7 +323,7 @@ static int asf_read_file_properties(AVFormatContext *s) return 0; } -static int asf_read_stream_properties(AVFormatContext *s, int64_t size) +static int asf_read_stream_properties(AVFormatContext *s, uint64_t size) { ASFContext *asf = s->priv_data; AVIOContext *pb = s->pb; From patchwork Sun May 8 03:01:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 35694 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp2387216pzb; Sat, 7 May 2022 20:02:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwbMN7MXmCPLDvFczFsOKbpgdv6/XG8N+MPLmZymX1/dMB3rzQjJ+p61Mnh7lsnbpPSJGeE X-Received: by 2002:a17:906:3a45:b0:6f4:e9e7:4ff with SMTP id a5-20020a1709063a4500b006f4e9e704ffmr9084811ejf.100.1651978971214; Sat, 07 May 2022 20:02:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651978971; cv=none; d=google.com; s=arc-20160816; b=ar1RCm4hdwWjfkTnHTdBjbeuhWaSkEfFdpYKShx7Hq14+dtR0M+dWP9VlA8PantGyV OemgK/iUq51t4x42jBO0seAIQt5A/oVLDCNOo15cZuGv/9o9QRmkb4J/SguQNy/WDcfl oohJubRg4KVjfOZ37vir154++bprBNIh+utluQF4W+7nXeb03DNhXStbMYwgCd5zmC7v Na6hRWF8o7mZjX49NQriDfxRldIB8+txPGQ+nqQX7kNEKzjCF5JrD937rzuk37hioeeC j/c+2pWluYMkQ6Nm2yTT8btK8KAzTOzepUPHOjrei5ql4FGEOb7m6TwAJaUHxpKT9Nij FrRw== 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:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=XGcO/KpHZteXBHAkHCduS0bqdHFiJGnGH0fBbLfvrIg=; b=qDIj1yfTB58OG3kRJC4Q8inI02SnXLVXwd9l2fm+K5hNcKRJ+qoe8Q8UkeX8IJKbFV YrPf6q8X6c44dXUqrZ8ekNti2UGxFx/N+QIu5amiTzm9jo0LJVzb0kHXbZ2ZcznG1Y4Q qQjpsqqJtM5rjPSl0rlFG0KBaeHl6CQYITsGsEakNAEBu4uSKq2AAE5nVU9V6Lh1pzi5 VTKBMmK3gKloKN+eUu6pZ8E8QcG9CcUeoIizbnrl7ONqRcO2aZG2UsAXx2E6OmLdgGnH PlpRq4DrNLklONTVn8W6EAwWlIVN4s29pbtbHr806M1ugd8S1jAxFNiGVf+3zjZ/V5// j3GA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=NJH7frD5; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id w10-20020a05640234ca00b00427d81514ebsi10731988edc.14.2022.05.07.20.02.50; Sat, 07 May 2022 20:02:51 -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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=NJH7frD5; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 561AE68B3D6; Sun, 8 May 2022 06:01:41 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f54.google.com (mail-pj1-f54.google.com [209.85.216.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5BC0468B3CA for ; Sun, 8 May 2022 06:01:36 +0300 (EEST) Received: by mail-pj1-f54.google.com with SMTP id t11-20020a17090ad50b00b001d95bf21996so14205801pju.2 for ; Sat, 07 May 2022 20:01:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:message-id:in-reply-to:references:date:subject:fcc :content-transfer-encoding:mime-version:to:cc; bh=o9T1CKAs0Au1EDMT0s0n5DgW8dUkaQwldfKRnCU7/KM=; b=NJH7frD5xtlNmPqaKQxp/oZLgkFlfxZo+Hirifo3VJjLh/PVAb6GdVaoanv+53BVRU R2aYr0n99tzBMcpXHH0+OcrsQNWTxEV9s2xnsbghpzCb0ohsEcP0bHr7FROnmS0dJjW5 HG+jdl+T9fft+RrkrFT1xTdFv9R6YFmDypWd2w2Fi2P8McX+icVexZWLIuKpuwFNAGrv sYSbPbLASekhq9IXpfJphhMwHlZ4khlamoJINr24O/qQBqPbq7zI9DSApvGm0F3kg39E xHajQsWMb/BgVYbpDctJI1+LzwIo9jLq1dqQbeWBesVgCwUUfI3x7wj6Wd56tFEueqv1 AxCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:message-id:in-reply-to:references:date :subject:fcc:content-transfer-encoding:mime-version:to:cc; bh=o9T1CKAs0Au1EDMT0s0n5DgW8dUkaQwldfKRnCU7/KM=; b=XjI5jUq8WZKegAjHiCz7+3DLOODumyiahi5LphLlC7Y12PBAcaqJluOmew0dyIhN9o 9exgf9G6e5685L1aWra/h4GH0Z7h6eX4ttdNEu1xRZNTtLdCx0bhWVBCb0Z/G1D5TDhk QQVkuymzaazs2igCJzNae+efqWt0uUk/3IKFmWWcCB61JZxbESAkPet/S9wdWTnC8ktf EJAaS6/EyFWesmsqdapmRVBcvU156qLddssYJuzt0vjhnufJwE18WEkOXvW3IWwZBjRB fDoc2+LNysRHnaTVZa0PBqb/Up/XnRQ4Kwd5IilqEtU4j4cqan3RShPpO2dlybbhkt8w Kqng== X-Gm-Message-State: AOAM533+6dLAyqZf88H43/yrl1sHgrFrF9nTa6grVSJBoyiMWrvuDye6 Ut8qpP7cWGgcsSLeDn1Rtt8JX3bqJF0Szw== X-Received: by 2002:a17:90b:314c:b0:1dc:767d:a7d9 with SMTP id ip12-20020a17090b314c00b001dc767da7d9mr11702718pjb.99.1651978894479; Sat, 07 May 2022 20:01:34 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id e3-20020a170902ef4300b0015e8d4eb212sm4357691plx.92.2022.05.07.20.01.33 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 07 May 2022 20:01:34 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: In-Reply-To: References: Date: Sun, 08 May 2022 03:01:22 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v3 11/11] libavformat/asfdec: fix variable types and add checks for unsupported values 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: Michael Niedermayer , softworkz Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: bF9+MCYGynEA From: softworkz Signed-off-by: softworkz --- libavformat/asfdec_f.c | 168 ++++++++++++++++++++++++++--------------- 1 file changed, 108 insertions(+), 60 deletions(-) diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index 3663f31330..da43c2bc11 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -332,9 +332,9 @@ static int asf_read_stream_properties(AVFormatContext *s, uint64_t size) ASFStream *asf_st; ff_asf_guid g; enum AVMediaType type; - int type_specific_size, sizeX; - unsigned int tag1; - int64_t pos1, pos2, start_time; + unsigned int tag1, type_specific_size, sizeX; + int64_t pos1, pos2; + uint32_t start_time; int test_for_ext_stream_audio, is_dvr_ms_audio = 0; if (s->nb_streams == ASF_MAX_STREAMS) { @@ -403,7 +403,14 @@ static int asf_read_stream_properties(AVFormatContext *s, uint64_t size) st->codecpar->codec_type = type; if (type == AVMEDIA_TYPE_AUDIO) { - int ret = ff_get_wav_header(s, pb, st->codecpar, type_specific_size, 0); + int ret; + + if (type_specific_size > INT32_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported WAV header size (> INT32_MAX)\n"); + return AVERROR(ENOTSUP); + } + + ret = ff_get_wav_header(s, pb, st->codecpar, (int)type_specific_size, 0); if (ret < 0) return ret; if (is_dvr_ms_audio) { @@ -433,21 +440,32 @@ static int asf_read_stream_properties(AVFormatContext *s, uint64_t size) } } else if (type == AVMEDIA_TYPE_VIDEO && size - (avio_tell(pb) - pos1 + 24) >= 51) { + unsigned int width, height; avio_rl32(pb); avio_rl32(pb); avio_r8(pb); avio_rl16(pb); /* size */ - sizeX = avio_rl32(pb); /* size */ - st->codecpar->width = avio_rl32(pb); - st->codecpar->height = avio_rl32(pb); + sizeX = avio_rl32(pb); /* size */ + width = avio_rl32(pb); + height = avio_rl32(pb); + + if (width > INT32_MAX || height > INT32_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported video size %dx%d\n", width, height); + return AVERROR(ENOTSUP); + } + + st->codecpar->width = (int)width; + st->codecpar->height = (int)height; /* not available for asf */ avio_rl16(pb); /* panes */ st->codecpar->bits_per_coded_sample = avio_rl16(pb); /* depth */ tag1 = avio_rl32(pb); avio_skip(pb, 20); if (sizeX > 40) { - if (size < sizeX - 40 || sizeX - 40 > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE) - return AVERROR_INVALIDDATA; + if (size < sizeX - 40 || sizeX - 40 > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE) { + av_log(s, AV_LOG_DEBUG, "Unsupported extradata size\n"); + return AVERROR(ENOTSUP); + } st->codecpar->extradata_size = ffio_limit(pb, sizeX - 40); st->codecpar->extradata = av_mallocz(st->codecpar->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE); @@ -499,9 +517,9 @@ static int asf_read_ext_stream_properties(AVFormatContext *s) ASFContext *asf = s->priv_data; AVIOContext *pb = s->pb; ff_asf_guid g; - int ext_len, payload_ext_ct, stream_ct, i; - uint32_t leak_rate, stream_num; - unsigned int stream_languageid_index; + uint16_t payload_ext_ct, stream_ct, i; + uint32_t leak_rate, ext_len; + uint16_t stream_languageid_index, stream_num; avio_rl64(pb); // starttime avio_rl64(pb); // endtime @@ -513,15 +531,15 @@ static int asf_read_ext_stream_properties(AVFormatContext *s) avio_rl32(pb); // alt-init-bucket-fullness avio_rl32(pb); // max-object-size avio_rl32(pb); // flags (reliable,seekable,no_cleanpoints?,resend-live-cleanpoints, rest of bits reserved) - stream_num = avio_rl16(pb); // stream-num + stream_num = (uint16_t)avio_rl16(pb); // stream-num - stream_languageid_index = avio_rl16(pb); // stream-language-id-index + stream_languageid_index = (uint16_t)avio_rl16(pb); // stream-language-id-index if (stream_num < 128) asf->streams[stream_num].stream_language_index = stream_languageid_index; avio_rl64(pb); // avg frametime in 100ns units - stream_ct = avio_rl16(pb); // stream-name-count - payload_ext_ct = avio_rl16(pb); // payload-extension-system-count + stream_ct = (uint16_t)avio_rl16(pb); // stream-name-count + payload_ext_ct = (uint16_t)avio_rl16(pb); // payload-extension-system-count if (stream_num < 128) { asf->stream_bitrates[stream_num] = leak_rate; @@ -535,12 +553,10 @@ static int asf_read_ext_stream_properties(AVFormatContext *s) } for (i = 0; i < payload_ext_ct; i++) { - int size; + uint16_t size; ff_get_guid(pb, &g); - size = avio_rl16(pb); + size = (uint16_t)avio_rl16(pb); ext_len = avio_rl32(pb); - if (ext_len < 0) - return AVERROR_INVALIDDATA; avio_skip(pb, ext_len); if (stream_num < 128 && i < FF_ARRAY_ELEMS(asf->streams[stream_num].payload)) { ASFPayload *p = &asf->streams[stream_num].payload[i]; @@ -579,20 +595,21 @@ static int asf_read_ext_content_desc(AVFormatContext *s) ASFContext *asf = s->priv_data; uint64_t dar_num = 0; uint64_t dar_den = 0; - int desc_count, i, ret; + uint16_t desc_count, i; + int ret; - desc_count = avio_rl16(pb); + desc_count = (uint16_t)avio_rl16(pb); for (i = 0; i < desc_count; i++) { - int name_len, value_type, value_len; + uint16_t name_len, value_type, value_len; char name[1024]; - name_len = avio_rl16(pb); + name_len = (uint16_t)avio_rl16(pb); if (name_len % 2) // must be even, broken lavf versions wrote len-1 name_len += 1; if ((ret = avio_get_str16le(pb, name_len, name, sizeof(name))) < name_len) avio_skip(pb, name_len - ret); - value_type = avio_rl16(pb); - value_len = avio_rl16(pb); + value_type = (uint16_t)avio_rl16(pb); + value_len = (uint16_t)avio_rl16(pb); if (!value_type && value_len % 2) value_len += 1; /* My sample has that stream set to 0 maybe that mean the container. @@ -626,14 +643,16 @@ static int asf_read_language_list(AVFormatContext *s) { AVIOContext *pb = s->pb; ASFContext *asf = s->priv_data; - int j, ret; - int stream_count = avio_rl16(pb); + int ret; + uint16_t j; + const uint16_t stream_count = (uint16_t)avio_rl16(pb); + for (j = 0; j < stream_count; j++) { char lang[6]; - unsigned int lang_len = avio_r8(pb); + const uint8_t lang_len = (uint8_t)avio_r8(pb); if ((ret = avio_get_str16le(pb, lang_len, lang, sizeof(lang))) < lang_len) - avio_skip(pb, lang_len - ret); + avio_skip(pb, (int)lang_len - ret); if (j < 128) av_strlcpy(asf->stream_languages[j], lang, sizeof(*asf->stream_languages)); @@ -648,14 +667,14 @@ static int asf_read_metadata(AVFormatContext *s) ASFContext *asf = s->priv_data; uint64_t dar_num[128] = {0}; uint64_t dar_den[128] = {0}; - int n, name_len_utf8; - uint16_t stream_num, name_len_utf16, value_type; + int name_len_utf8; + uint16_t stream_num, name_len_utf16, value_type, i, n; uint32_t value_len; - int ret, i; - n = avio_rl16(pb); + int ret; + n = (uint16_t)avio_rl16(pb); for (i = 0; i < n; i++) { - uint8_t *name; + char *name; avio_rl16(pb); // lang_list_index stream_num = (uint16_t)avio_rl16(pb); @@ -669,7 +688,7 @@ static int asf_read_metadata(AVFormatContext *s) return AVERROR(ENOMEM); if ((ret = avio_get_str16le(pb, name_len_utf16, name, name_len_utf8)) < name_len_utf16) - avio_skip(pb, name_len_utf16 - ret); + avio_skip(pb, (int)name_len_utf16 - ret); av_log(s, AV_LOG_TRACE, "%d stream %d name_len %2d type %d len %4d <%s>\n", i, stream_num, name_len_utf16, value_type, value_len, name); @@ -706,19 +725,21 @@ static int asf_read_marker(AVFormatContext *s) { AVIOContext *pb = s->pb; ASFContext *asf = s->priv_data; - int i, count, name_len, ret; + int ret; + unsigned count, i; + uint16_t name_len; char name[1024]; avio_rl64(pb); // reserved 16 bytes avio_rl64(pb); // ... count = avio_rl32(pb); // markers count avio_rl16(pb); // reserved 2 bytes - name_len = avio_rl16(pb); // name length + name_len = (uint16_t)avio_rl16(pb); // name length avio_skip(pb, name_len); for (i = 0; i < count; i++) { - int64_t pres_time; - int name_len; + uint64_t pres_time; + unsigned name2_len; if (avio_feof(pb)) return AVERROR_INVALIDDATA; @@ -729,13 +750,18 @@ static int asf_read_marker(AVFormatContext *s) avio_rl16(pb); // entry length avio_rl32(pb); // send time avio_rl32(pb); // flags - name_len = avio_rl32(pb); // name length - if ((unsigned)name_len > INT_MAX / 2) + name2_len = avio_rl32(pb); // name length + if (name2_len > INT_MAX / 2) return AVERROR_INVALIDDATA; - if ((ret = avio_get_str16le(pb, name_len * 2, name, - sizeof(name))) < name_len) - avio_skip(pb, name_len - ret); - avpriv_new_chapter(s, i, (AVRational) { 1, 10000000 }, pres_time, + if ((ret = avio_get_str16le(pb, (int)name2_len, name, + sizeof(name))) < name2_len) + avio_skip(pb, name2_len - ret); + + if (pres_time > INT64_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported presentation time value: %"PRIu64"\n", pres_time); + return AVERROR(ENOTSUP); + } + avpriv_new_chapter(s, i, (AVRational) { 1, 10000000 }, (int64_t)pres_time, AV_NOPTS_VALUE, name); } @@ -748,7 +774,7 @@ static int asf_read_header(AVFormatContext *s) ff_asf_guid g; AVIOContext *pb = s->pb; int i; - int64_t gsize; + uint64_t gsize; ff_get_guid(pb, &g); if (ff_guidcmp(&g, &ff_asf_header)) @@ -763,7 +789,7 @@ static int asf_read_header(AVFormatContext *s) asf->streams[i].stream_language_index = 128; // invalid stream index means no language info for (;;) { - uint64_t gpos = avio_tell(pb); + const int64_t gpos = avio_tell(pb); int ret = 0; ff_get_guid(pb, &g); gsize = avio_rl64(pb); @@ -818,7 +844,12 @@ static int asf_read_header(AVFormatContext *s) len= avio_rl32(pb); av_log(s, AV_LOG_DEBUG, "Secret data:\n"); - if ((ret = av_get_packet(pb, pkt, len)) < 0) + if (len > INT32_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported encryption packet length: %d\n", len); + return AVERROR(ENOTSUP); + } + + if ((ret = av_get_packet(pb, pkt, (int)len)) < 0) return ret; av_hex_dump_log(s, AV_LOG_DEBUG, pkt->data, pkt->size); av_packet_unref(pkt); @@ -932,7 +963,7 @@ static int asf_read_header(AVFormatContext *s) static int asf_get_packet(AVFormatContext *s, AVIOContext *pb) { ASFContext *asf = s->priv_data; - uint32_t packet_length, padsize; + uint32_t packet_length, packet_ts, padsize; int rsize = 8; int c, d, e, off; @@ -1020,7 +1051,12 @@ static int asf_get_packet(AVFormatContext *s, AVIOContext *pb) return AVERROR_INVALIDDATA; } - asf->packet_timestamp = avio_rl32(pb); + packet_ts = avio_rl32(pb); + if (packet_ts > INT32_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported packet_timestamp value: %d\n", packet_ts); + return AVERROR(ENOTSUP); + } + asf->packet_timestamp = (int)packet_ts; avio_rl16(pb); /* duration */ // rsize has at least 11 bytes which have to be present @@ -1039,10 +1075,21 @@ static int asf_get_packet(AVFormatContext *s, AVIOContext *pb) rsize, packet_length, padsize, avio_tell(pb)); return AVERROR_INVALIDDATA; } - asf->packet_size_left = packet_length - padsize - rsize; + + if (packet_length - padsize - rsize > INT32_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported packet_size_left value: %d\n", packet_length - padsize - rsize); + return AVERROR(ENOTSUP); + } + asf->packet_size_left = (int)(packet_length - padsize - rsize); + if (packet_length < asf->hdr.min_pktsize) padsize += asf->hdr.min_pktsize - packet_length; - asf->packet_padsize = padsize; + if (padsize > INT32_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported packet padsize value: %d\n", padsize); + return AVERROR(ENOTSUP); + } + + asf->packet_padsize = (int)padsize; av_log(s, AV_LOG_TRACE, "packet: size=%d padsize=%d left=%d\n", s->packet_size, asf->packet_padsize, asf->packet_size_left); return 0; @@ -1077,22 +1124,23 @@ static int asf_read_frame_header(AVFormatContext *s, AVIOContext *pb) return AVERROR_INVALIDDATA; } if (asf->packet_replic_size >= 8) { - int64_t end = avio_tell(pb) + asf->packet_replic_size; + const int64_t end = avio_tell(pb) + asf->packet_replic_size; AVRational aspect; - asfst->packet_obj_size = avio_rl32(pb); - if (asfst->packet_obj_size >= (1 << 24) || asfst->packet_obj_size < 0) { + const unsigned packet_obj_size = avio_rl32(pb); + if (packet_obj_size >= (1 << 24)) { av_log(s, AV_LOG_ERROR, "packet_obj_size %d invalid\n", asfst->packet_obj_size); asfst->packet_obj_size = 0; return AVERROR_INVALIDDATA; } + asfst->packet_obj_size = (int)packet_obj_size; asf->packet_frag_timestamp = avio_rl32(pb); // timestamp for (i = 0; i < asfst->payload_ext_ct; i++) { ASFPayload *p = &asfst->payload[i]; - int size = p->size; + uint16_t size = p->size; int64_t payend; if (size == 0xFFFF) - size = avio_rl16(pb); + size = (uint16_t)avio_rl16(pb); payend = avio_tell(pb) + size; if (payend > end) { av_log(s, AV_LOG_ERROR, "too long payload\n"); @@ -1493,7 +1541,7 @@ static int64_t asf_read_pts(AVFormatContext *s, int stream_index, ASFStream *asf_st; int64_t pts; int64_t pos = *ppos; - int i; + unsigned i; int64_t start_pos[ASF_MAX_STREAMS]; for (i = 0; i < s->nb_streams; i++) @@ -1550,7 +1598,7 @@ static int asf_build_simple_index(AVFormatContext *s, int stream_index) int64_t ret; if((ret = avio_seek(s->pb, asf->data_object_offset + asf->data_object_size, SEEK_SET)) < 0) { - return ret; + return (int)ret; } if ((ret = ff_get_guid(s->pb, &g)) < 0)