From patchwork Fri Aug 26 06:44:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liu Steven X-Patchwork-Id: 37503 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:139a:b0:8f:1db5:eae2 with SMTP id w26csp151779pzh; Thu, 25 Aug 2022 23:45:19 -0700 (PDT) X-Google-Smtp-Source: AA6agR6THeCu0vwpc8r/2RSNCwpZB+IjD2/UfkkwiqMVp5Fy63G/9cJuybdtZ8x7jm4cfHGfugzG X-Received: by 2002:a50:fe91:0:b0:43d:c97d:1b93 with SMTP id d17-20020a50fe91000000b0043dc97d1b93mr5926995edt.67.1661496319247; Thu, 25 Aug 2022 23:45:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661496319; cv=none; d=google.com; s=arc-20160816; b=HguEdPO824RrbkHc+TroPAN5hzmMSuyvZVUygPEJ8nwpSe0ZZ1/l+0cNfpMkhiUO+A LSz4rP7vESVuPw+vVh5C7dpi4YdDfcabTH3nhnCNZ3buZLI31hT0KheSdwwM49PdczY4 +CuQwaV1f0xydR7QfeyU0Cl2ssnhmh0km5CQcYDQ+jHbo64+YdORUMyOqO3OJGQ4iWtC +5kQE9jtS+2GjORXHt7qcyKlPavmBFoX/FnHgjbBgdJSo31A1ctmP1dME15TttFg2Pxs MiuTgic0W5Ih28DXDrLHHLnnopDpFUlQL8ishjsn3D7VYJhVps8Qy5gdtivteKN3sMvb ywMA== 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:feedback-id:mime-version:references :in-reply-to:message-id:date:to:from:delivered-to; bh=ccMa8xtYB+tPhNYEP0IiWzi2tnbxe98hWlKonwvWgAM=; b=vSEe0n0OgULYphlS6D6moPlsZ2QPIzcsdqcyffQDiDDuEj5w1kTFtwJ5w84sbf3Oim 9O3CjixjHwsY42RCX5Pm6tLNuoixXQUejkHdWs35zjLyJQuvc9ncJAqaDPWcwTAI0Xou zhYYZEWoNI15jcYcOxISifTftHmpL5SV70EM5j9ud3vo20qrDppQWBUusCteB8vH1iGA UEWBm39XW5gz7B/472IyBYzxe7PNfsDpXQctnCGU1EG/2Lu5LRTnLqCuENWNRwF6ntBb 4I9Gc+Sv5/k1S7BSNKTl/gN4w/0mqqgB3C11J2nJjwYVLxb6tcHaOgeYAiwJOcv/8dat kRHg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id di12-20020a170906730c00b0073d86573bcbsi944341ejc.20.2022.08.25.23.45.18; Thu, 25 Aug 2022 23:45:19 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E088E68B9F0; Fri, 26 Aug 2022 09:45:14 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from bg5.exmail.qq.com (bg4.exmail.qq.com [43.155.67.158]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0A91068B823 for ; Fri, 26 Aug 2022 09:45:07 +0300 (EEST) X-QQ-mid: bizesmtp76t1661496301tn6jo92o Received: from localhost ( [103.107.217.224]) by bizesmtp.qq.com (ESMTP) with id ; Fri, 26 Aug 2022 14:45:00 +0800 (CST) X-QQ-SSF: 01100000000000Z0Z000000A0000000 X-QQ-FEAT: 0KJb8nNTJpMRBU0jwwOlx1HOfSgQgYcYht/bsrVyLq+yMq1hMc+I28LElNlbg /o9au//TM8l5hIpnDkQtB15EaPS/iIUN0GcyLJLD3iify9tkV98aoG4E8VHHjGo4jtReKPQ CFCCn2R2hJ7+OpsA+Qu+oI2ugtswzZDC/Q6K7WQnPzLdgxWvYCti0m7kLyd0am6Z5GBinFw Les4tcM0QR8efx3v/LuW0hXjzHTAqrX6/tlq3GgaSqOZEE6PoRtnxB/NmXsyR5WY4WRO5xs TlS527lOay82uopZthcWPZLUrgYzxv5yFMwEjHr8QqzGkMHlNIBzr16OQMEVfWo/vyJgLG9 KW8P3p2rw7lX1LZFxwYB+m+qxBkKVK3/NBQNSMn X-QQ-GoodBg: 0 From: Steven Liu To: ffmpeg-devel@ffmpeg.org Date: Fri, 26 Aug 2022 14:44:56 +0800 Message-Id: <20220826064456.92895-1-lq@chinaffmpeg.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: References: MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:chinaffmpeg.org:qybglogicsvr:qybglogicsvr2 Subject: [FFmpeg-devel] [PATCH v2] avformat/imfdec: check track valid before use it 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: Steven Liu Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: rCEs6EdNevO7 fix CID: 1512414 And return AVERROR_INVALIDDATA when get_next_track_with_minimum_timestamp incorrect in imf_read_packet; Signed-off-by: Steven Liu --- libavformat/imfdec.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libavformat/imfdec.c b/libavformat/imfdec.c index 5bbe7a53f8..08f342bc1a 100644 --- a/libavformat/imfdec.c +++ b/libavformat/imfdec.c @@ -697,8 +697,9 @@ static IMFVirtualTrackPlaybackCtx *get_next_track_with_minimum_timestamp(AVForma } } - av_log(s, AV_LOG_DEBUG, "Found next track to read: %d (timestamp: %lf / %lf)\n", - track->index, av_q2d(track->current_timestamp), av_q2d(minimum_timestamp)); + if (track) + av_log(s, AV_LOG_DEBUG, "Found next track to read: %d (timestamp: %lf / %lf)\n", + track->index, av_q2d(track->current_timestamp), av_q2d(minimum_timestamp)); return track; } @@ -760,6 +761,8 @@ static int imf_read_packet(AVFormatContext *s, AVPacket *pkt) AVRational next_timestamp; track = get_next_track_with_minimum_timestamp(s); + if (!track) + return AVERROR_INVALIDDATA; ret = get_resource_context_for_timestamp(s, track, &resource); if (ret)