From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 23FB646A9D for ; Sat, 29 Jun 2024 00:07:28 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id ECA9568D6B5; Sat, 29 Jun 2024 03:07:16 +0300 (EEST) Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7919F68D677 for ; Sat, 29 Jun 2024 03:07:09 +0300 (EEST) Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-1fa9f540f45so7564515ad.1 for ; Fri, 28 Jun 2024 17:07:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719619627; x=1720224427; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=ZWORE2jJmv/53ByUnsH1rOqgv6fgD0gQ0k9U2Hgqy3M=; b=gaIRut+E2+d9flu1BkJPy0nT5JfqMlX4208tDHGyzUcmJ8J5YW/owU8E2/LH3ftDqx kllVl9rq4iyLuPbU4rTj07+sKeHoklcDp5tj1VxFLUHsxN/5A1a+YawqG4+Eia5hQp++ BTEQ49curhnf/a0WwNRcU0OPzdpfcfkLbvlZGvIMfGiUe1D+HhwTpBmZQFmUpIvI3zVS wlDJESJlzhlQuxDWOn1A0xijQpKETYV9PTB/Ijrq5j75wyYzby4Jp2G9sEustSwtsA6d RGEODkO48QkncIWZVJOSQWwtb8pSvW6VZGxybwBRZd3Awy1W3rxbhFDKJ0JBHTjxFmjf lQeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719619627; x=1720224427; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZWORE2jJmv/53ByUnsH1rOqgv6fgD0gQ0k9U2Hgqy3M=; b=Zm8qt7XDRTkEz5KyjLoqlizAgqo8+cnnj4z93wdn4u7SCyNJVdCuWuC1PvB32asnCt CNaaVcCWtfKACc61MoOnS6iuD/uM9rlPjb8d7CPeJsbI7e3O6usBLe92W45psNpOlir6 GuEeQe11M2p0pLV18hvGhcpFrNsEvD7oVMhGOjVB+sumEVQCpQUshhZFfboz7ZbbwZiX kVoGGi5a+6prXg5hp1728tUUi1vnwBX10y6Yn+8zruClEYzs+wIdBiuRTIvQ1QL7N66k 1xr79dSk91bYDlopBQe0l6w3l1R50ZBHHH4vBI16hZqMJm4Qb3YV9qnrfErF9/IqbD/m NMag== X-Gm-Message-State: AOJu0YwsnQD8PQZsT7Icd26wWAThblAgDXYOjzwOYcNlD+XYGHAIBbrJ pNTdRlFx9kX+taDXBzGVKWD2cK9P0YA4rx4ICyZhkSdU50K5kYo/tG8KbQ== X-Google-Smtp-Source: AGHT+IEIgoqfTJi3Da0MyJSOKHr0InP0cn8JiCDl46dSCcPywDlc0IkBRPOdUmhlnL0qWVwHltmAbA== X-Received: by 2002:a17:903:22ca:b0:1f8:67e4:3977 with SMTP id d9443c01a7336-1fa158e5e78mr159698745ad.34.1719619626776; Fri, 28 Jun 2024 17:07:06 -0700 (PDT) Received: from localhost.localdomain ([190.194.167.233]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1fac159ac6fsm20968305ad.293.2024.06.28.17.07.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Jun 2024 17:07:05 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Fri, 28 Jun 2024 21:06:54 -0300 Message-ID: <20240629000654.63462-2-jamrial@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240629000654.63462-1-jamrial@gmail.com> References: <20240629000654.63462-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] avformat/mov: check that child boxes of trak are only present inside 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Based on the check done for the stco box. Signed-off-by: James Almer --- libavformat/mov.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/libavformat/mov.c b/libavformat/mov.c index ba5f85e7e3..a2e187ff2f 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -3059,6 +3059,11 @@ static int mov_read_stsc(MOVContext *c, AVIOContext *pb, MOVAtom atom) MOVStreamContext *sc; unsigned int i, entries; + if (c->trak_index < 0) { + av_log(c->fc, AV_LOG_WARNING, "STSC outside TRAK\n"); + return 0; + } + if (c->fc->nb_streams < 1) return 0; st = c->fc->streams[c->fc->nb_streams-1]; @@ -3155,6 +3160,11 @@ static int mov_read_stps(MOVContext *c, AVIOContext *pb, MOVAtom atom) MOVStreamContext *sc; unsigned i, entries; + if (c->trak_index < 0) { + av_log(c->fc, AV_LOG_WARNING, "STPS outside TRAK\n"); + return 0; + } + if (c->fc->nb_streams < 1) return 0; st = c->fc->streams[c->fc->nb_streams-1]; @@ -3192,6 +3202,11 @@ static int mov_read_stss(MOVContext *c, AVIOContext *pb, MOVAtom atom) MOVStreamContext *sc; unsigned int i, entries; + if (c->trak_index < 0) { + av_log(c->fc, AV_LOG_WARNING, "STSS outside TRAK\n"); + return 0; + } + if (c->fc->nb_streams < 1) return 0; st = c->fc->streams[c->fc->nb_streams-1]; @@ -3244,6 +3259,11 @@ static int mov_read_stsz(MOVContext *c, AVIOContext *pb, MOVAtom atom) unsigned char* buf; int ret; + if (c->trak_index < 0) { + av_log(c->fc, AV_LOG_WARNING, "STSZ outside TRAK\n"); + return 0; + } + if (c->fc->nb_streams < 1) return 0; st = c->fc->streams[c->fc->nb_streams-1]; @@ -3333,6 +3353,11 @@ static int mov_read_stts(MOVContext *c, AVIOContext *pb, MOVAtom atom) int64_t current_dts = 0; int64_t corrected_dts = 0; + if (c->trak_index < 0) { + av_log(c->fc, AV_LOG_WARNING, "STTS outside TRAK\n"); + return 0; + } + if (c->fc->nb_streams < 1) return 0; st = c->fc->streams[c->fc->nb_streams-1]; @@ -3489,6 +3514,11 @@ static int mov_read_ctts(MOVContext *c, AVIOContext *pb, MOVAtom atom) MOVStreamContext *sc; unsigned int i, entries, ctts_count = 0; + if (c->trak_index < 0) { + av_log(c->fc, AV_LOG_WARNING, "CTTS outside TRAK\n"); + return 0; + } + if (c->fc->nb_streams < 1) return 0; st = c->fc->streams[c->fc->nb_streams-1]; -- 2.45.2 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".