From patchwork Mon Jul 1 02:40:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 50236 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:cc64:0:b0:482:c625:d099 with SMTP id k4csp1519467vqv; Sun, 30 Jun 2024 19:40:31 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXKjInvXxywNUgUL1xvR023SI5REjcmryHPeFKTWgG+0tsfZGEwprGfcGo1Cvh6zrIMEpN7KO+EBxyFLrhSvTM88bn5VbWdc9ab/A== X-Google-Smtp-Source: AGHT+IFh+0q8NtB1s3/XVF6mLKlw4PJQnd0r9QCNZi8KGO18eNomLkTGqE7YR4ZefZFAK1yM3brL X-Received: by 2002:ac2:520c:0:b0:52c:dccd:39aa with SMTP id 2adb3069b0e04-52e8272f630mr2392228e87.67.1719801630740; Sun, 30 Jun 2024 19:40:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1719801630; cv=none; d=google.com; s=arc-20160816; b=wr4Tuv/zkRnnXN9lACGH9/KuHu8fJKhwSAxpR30A3zaYx/1cz0MIs40V0A12Whzj0P dxPVpppnW+NTprWcWIMAqM4hN53aRDmF3EAvXKOaWjN4XahtbkoWTDr4woZ5+xSlz5wZ +NYlf0q501ekn0rttEcpcDd6KglmiyhOJ+j9HHjgpk6WCs8inkErsPBQhEAe7jVMBu38 f6gmD0hkmTd16juTcsGKffgTEgMipVN0awlmhFlKAJ3/Dnw28rFOiUAln3H6pcYdwVVG HWEvPZagi7XANqK0BQp4qAz9x7PefMLa5OXpVQVAm3RE+1wm21uwJ1+pxC9vDc6qA6Jz EJmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=N9oQjOzGwTtmgLOURe70FuksrqKzw/k+K7x/iGKgoE0=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=uzd9aOz4NgndEpIw1IxQ8jQyGIj+sE5mxoojPEajfjZKlecWgPoXa3JKvbIfyCvpWp d3rigT0u6KA+zujPEXsxnU2yAdPPzgvPanV7HPO3ON61un0DeSn2sjKywddUbm3n/b72 t3vUDRH5IeerTT9MWq2dBMU4f1u+dVruT6EJDK13ybUootUodDBgGFzW0m4BTkS4DIZF 9Mn6lya4oxDVsYI2noVaVLEoblq7cnV6mX2nL/M0G0D6Mfj0Y5CLyq2ITV8wtnMse4nq JzuZkg826oHnindQs2/gF8hEiyMdOunJlGkVrAz23R5SrYwlBjLzua/wzk0sisN8ydp2 uoxw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=WdpZ5pg2; 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 2adb3069b0e04-52e7ab0e274si2026941e87.137.2024.06.30.19.40.30; Sun, 30 Jun 2024 19:40:30 -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=20230601 header.b=WdpZ5pg2; 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 1A5CA68D695; Mon, 1 Jul 2024 05:40:25 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C3FEB68D695 for ; Mon, 1 Jul 2024 05:40:18 +0300 (EEST) Received: by mail-pf1-f173.google.com with SMTP id d2e1a72fcca58-70673c32118so1404063b3a.3 for ; Sun, 30 Jun 2024 19:40:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719801616; x=1720406416; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=pfiO5Q+rrDZ8MYJmR2tMvR0dvEuKvIVQCqjUAHxEl80=; b=WdpZ5pg2delHUVYCgbFZPXuqUnJ6dwNeHfU9aWqdjnfTN98ebdi5AZ3c11aQj52WNA aqIa+qiYqVK7ZZ4StmMrCOdeuMnsJsvhlmLPpb7xpp+NV1XgORPcwA7N3DVIimXLGeY9 LBA4SD6uz1C/T5r4TjYgjISLMknIRbiZqcczd+xnsZ4J557dofUclcejyQLPKN46fcfx 2HTM4mM8UCb5iYUCkpiMDw3kntw5Edja7z36G1y2EykX/d+NKFBc9sQOJOEPDaZe2uJE NhXIgKY5luyJxMSipiGu5cOpdHJ4IN1P2nYEgmwaE0vBsXe8efuraKusN6C+crYRY7br TM+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719801616; x=1720406416; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=pfiO5Q+rrDZ8MYJmR2tMvR0dvEuKvIVQCqjUAHxEl80=; b=hFBxToics/d324f/eBLBmU0wpu1LLG0czz2OclxqvxB1VejMR2UPyntjNSHfPFhX0b I7h+IMkhu7cIKCOZqBYigIX0sGbx0U3+8T8pVZAKijfyaW9kkASD8iqVhgCq8uULWEzq pWCNY+gpTlX37NZdSOTY3BLNhmvM/Bhi2Y7YvzWnZgRkNhd0puNw1EfnHmdt5SjqL83Z 8uJjMhWWEvGasJCGl9doEcD3i3mrv4Ba6LJxZkZD90mXgN5t03L8S5wDV1oYQ828J4ET 7eNJ94ceSByNOutbPgaqBxsm7sMRlvOsoOjiI2Nih43M4tYjzwn3duv+xK3KkyMaM9c4 +/QA== X-Gm-Message-State: AOJu0Yx/ov354js9Nonfe5GlWWwTxyoS/d6EW81oy+EBcJ6Wl5cNlNrl Ur3Pvh1IlInEKNthuk4jvktlTPo4dzCUTc3zmjUg30aCGdrOwapOKyCKww== X-Received: by 2002:a05:6a20:bf1a:b0:1be:cd00:8248 with SMTP id adf61e73a8af0-1bef6275a75mr2394527637.52.1719801615612; Sun, 30 Jun 2024 19:40:15 -0700 (PDT) Received: from localhost.localdomain ([190.194.167.233]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1fac1599d9dsm52776115ad.292.2024.06.30.19.40.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 30 Jun 2024 19:40:15 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Sun, 30 Jun 2024 23:40:19 -0300 Message-ID: <20240701024022.2898-1-jamrial@gmail.com> X-Mailer: git-send-email 2.45.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/4] avformat/mov: check that iloc offset values fit on an int64_t 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 77wB/6xgubGZ Signed-off-by: James Almer --- libavformat/mov.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index a2e187ff2f..fd78d5f59c 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -8388,7 +8388,7 @@ static int mov_read_SAND(MOVContext *c, AVIOContext *pb, MOVAtom atom) return 0; } -static int rb_size(AVIOContext *pb, uint64_t* value, int size) +static int rb_size(AVIOContext *pb, int64_t *value, int size) { if (size == 0) *value = 0; @@ -8398,9 +8398,11 @@ static int rb_size(AVIOContext *pb, uint64_t* value, int size) *value = avio_rb16(pb); else if (size == 4) *value = avio_rb32(pb); - else if (size == 8) + else if (size == 8) { *value = avio_rb64(pb); - else + if (*value < 0) + return -1; + } else return -1; return size; } From patchwork Mon Jul 1 02:40:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 50237 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:cc64:0:b0:482:c625:d099 with SMTP id k4csp1519504vqv; Sun, 30 Jun 2024 19:40:42 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVl2pRwu7LrZGmjbpIxJadZl0TsHW3rjDgKH8fjHmXAzt/QuL4rUkcbolfXhBXEv9cIhx+omdHnWSgYNS4D+b4IWeSGLIgJtzBkCA== X-Google-Smtp-Source: AGHT+IF7J6y1LSunRncWoIsP80LbNs0h79/iWPpaR8LD/aIYSUXVRTsLUsg8hUOPwmz34F4dLVC8 X-Received: by 2002:a05:651c:103a:b0:2ec:50eb:d5a2 with SMTP id 38308e7fff4ca-2ee5e390b2amr28128021fa.29.1719801641721; Sun, 30 Jun 2024 19:40:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1719801641; cv=none; d=google.com; s=arc-20160816; b=zm3OC97WHCkmiTzIun5YrH1Qd7VwbC03/5xBc7HkbaxwZ5MBxY5n2kyGi/0pRZSfNv XlBH1wp4VPyJvMDyuNmDd8hp+4DSfjGcPb7ebYa5FSzksOJ98hGMGxLYkfhZE/rrmGeW j2dFyI3Hij+3JjE+JP3fwjnTg0en732tCAcLSXNnMhN793xJNH/WSNeHAPOsWNBHwPfQ L7tzEOnnOMlbuN0b5Zzh0zw+kl2Ec042PZHZS+zjlwuAaY2Nq6PR2t/rIYqEPORCn8MM ufZPwiRcqEl4IkIUHlLfiLohXqTWYMHkFI8kcx14P04G84Mj2V1Q4gK02WeitUIQ5pfu x9tg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=YhzeBnRNmD5vduEdb71/gLjvFye0QoOUVTf9ngjAJKE=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=DkIZtiLHR+8nVCSg+3CBF/HTjXTLHlgLxsc81rb86SDuqD//WQD4046fam0H+fAIl3 nKcab3J7imtxUY8KnH5CRZzEwEEVPQH8GVifgAMVP9d1Nt6j1th7se5wDWFhDZLEIyCZ NvFsQnW8MUsrOABL9lbG8f0I4Ij0w8SdHy/5d1I7dnf/ndkLd3H4PxgKO9vu7cUp6rJ7 8chD+LUKQuk88qkJP/U8xGiOdLxr2dHK/OXcrMUoJ+n4JDz78UQ/cJMxftUAE0qkjMTM 7LAoSw2J2NJ2jIuc3YIzshcedIdDVbxKJdwpE97JsLqToJwnsmqcW2FLb/5rnEZ+5Rl1 xaTg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=mqeqjkcl; 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 38308e7fff4ca-2ee5155ec2dsi16756001fa.568.2024.06.30.19.40.41; Sun, 30 Jun 2024 19:40:41 -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=20230601 header.b=mqeqjkcl; 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 C6E0068D72B; Mon, 1 Jul 2024 05:40:27 +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 6F92E68D6E4 for ; Mon, 1 Jul 2024 05:40:20 +0300 (EEST) Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-1f64ecb1766so11846065ad.1 for ; Sun, 30 Jun 2024 19:40:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719801617; x=1720406417; 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=tL3nfumZUa1RZQo+Ni6HgWNLWz8LgtbrGwJZ1LFpc2A=; b=mqeqjkcldyGMcNYNe7ciJCAr4GXFAlqTA7Z/La4lsq4Y1CvWG2T1mnhsascLxM1FIj Ux+fYqM1CK7kYuhfDINtdIssxQ2N3BLhjfviQ/Q9+HOdCVtjQ99cyREexesb2yvjZAPY /plICRFHy6/NQZ4SXOczuEyzV+ai6WdYWon0+PKGSIgjLROq46cu1QojBzh2caYyaMST PYakOjcBcKeSigperYn7WfALw/BvMAWnxGKJdwVNHHj6j19MfHXfxAqoefuCVt1ZNFOz elouYbx8ZjlPXd3G2G+9wyIoy7mypNThEmZ1o7FCPQdNfmbeE7Hv9M/Q1uDf+Ikdv9AM CIew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719801617; x=1720406417; 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=tL3nfumZUa1RZQo+Ni6HgWNLWz8LgtbrGwJZ1LFpc2A=; b=PqV5AZAY1UTK3qgtgf3dzbX/NzvX0+QlIOaLO8sAvlz5WuhewZiiiiOwKtM1t7pw3w fslfqQ8siXeV7Jv5XIx0CIVylTQ3gzkes2BvfNwlsFC2zV76KqN/Wb28eTAVb+NFs/JA VNaVG8E8jbDBc3R+QUsVMOawXMreBGT/LyO1bHE/wO/kDH4FR0tg8YUvyjCz5WfXrI3c S/q3NEfw6eY/6eIk5bves3Ah+TXf8Xvpr2+VsBo7Sknk5T5AL7/VoPUeft5WBFQ9KaHg KzLxP8psS2cytWMMvRt4f9zKPkLrbNnjuwONXqnLHhKw+RExyJ8baqGGIpwHJuYiNDfi +b0g== X-Gm-Message-State: AOJu0YzTxCir7MfrmPffeoPpapbU3T86PLxzRVkxSgvTdTLvSr4YFfb/ zzN/7GQZ7biX2jMnaVqS3TwB19rdMpoWrdgApEuXM+peUjRFHAxfTDi22A== X-Received: by 2002:a17:902:e546:b0:1fa:2760:c3d0 with SMTP id d9443c01a7336-1fadbce6a97mr25254465ad.51.1719801617461; Sun, 30 Jun 2024 19:40:17 -0700 (PDT) Received: from localhost.localdomain ([190.194.167.233]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1fac1599d9dsm52776115ad.292.2024.06.30.19.40.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 30 Jun 2024 19:40:16 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Sun, 30 Jun 2024 23:40:20 -0300 Message-ID: <20240701024022.2898-2-jamrial@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240701024022.2898-1-jamrial@gmail.com> References: <20240701024022.2898-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/4] avformat/mov: check extent_offset calculation for overflow 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: ahy1wE1rqTdg Signed-off-by: James Almer --- libavformat/mov.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index fd78d5f59c..3aa2398386 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -8482,7 +8482,8 @@ static int mov_read_iloc(MOVContext *c, AVIOContext *pb, MOVAtom atom) } for (int j = 0; j < extent_count; j++) { if (rb_size(pb, &extent_offset, offset_size) < 0 || - rb_size(pb, &extent_length, length_size) < 0) + rb_size(pb, &extent_length, length_size) < 0 || + base_offset > INT64_MAX - extent_offset) return AVERROR_INVALIDDATA; if (offset_type == 1) c->heif_item[i].is_idat_relative = 1; From patchwork Mon Jul 1 02:40:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 50238 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:cc64:0:b0:482:c625:d099 with SMTP id k4csp1519538vqv; Sun, 30 Jun 2024 19:40:50 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXkb1LStXpm/kpqGIzvxlLUOAvCg4nZMXNUnMmd0I34VPTwUrsB9L1bqoux0EZ5cQadVPyYw49UsO+cnYKGqjH52sGBOUkR09RvzA== X-Google-Smtp-Source: AGHT+IHwuTi6+bnXb7z3zgnPRfq314kB+PEZC2nEGino8LfLz+PP0UnnG8MDxBmMQdd04T8zfSx8 X-Received: by 2002:a2e:beaa:0:b0:2ec:5668:3b93 with SMTP id 38308e7fff4ca-2ee5e393845mr40140151fa.12.1719801650676; Sun, 30 Jun 2024 19:40:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1719801650; cv=none; d=google.com; s=arc-20160816; b=TEbmDwKoUG21yErpjBjTqCrnhKTeFFMgXSPCBRUwjr91fNBEcmOKfXarczXCtsHU65 dphaFDsez4lIHioSO89lRuOUIsV3p6qqdB31qkfoh/YCgkm9L5D9g11fdIeaItkJG/6/ qpPbNz555FGYFCh648oosagfOHRDhN99RnaeznWmyjEMVuc/8HT9WI1fbkT1TbzYaDTk SoF0e/sJvLL8jU/6y91XfAkQSDKUEON0dm7dbpZPi0TlPAJcN6PLjOEhpNgFcpIQZAHW GE6iugSr4+AG84aMxxvvLgNtM77qLlEvG3ftC7Ey3P3uCK9IiFYrzf9O92BmRks9imUU ahQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=/xQNgs75aWnNy5BdOxe3xmW7wMvM4jThNMZrzAWTuPU=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=t7pN7gbuyB+hBxRVkWbkbrYdb9Bopt/5nOumztTLHaf8tdmyyYvSK02rXswu/tCXxs bxmt+qjTtthuSx4X2whqllOtr4JLPle8GudnnvHP/N093WN/Flcc12ih2oHfCY/i911c gqIJwb7r8qkZ6wDmiZ+Vvxw3AkBJzDOjpMbPlwjntHQvoYL+rLsINXCiKEI2c4zLDNgJ kKR2B8emzfUmhf94IrvBsjBxmmmLikCxCa5iOaXRyw2/J8/LitR1uPh4uefOW3ghn0SK 2PouwNqmyHDN7I3lRBEZptg5VFK+LkD8zIiCHm9wKGlcDTiBwEw4jxQdD8LVa6yAegAv 6jaw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=IXBgI4cv; 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 38308e7fff4ca-2ee514c0094si16446851fa.8.2024.06.30.19.40.50; Sun, 30 Jun 2024 19:40:50 -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=20230601 header.b=IXBgI4cv; 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 EBDBD68D759; Mon, 1 Jul 2024 05:40:28 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 305DA68D6E1 for ; Mon, 1 Jul 2024 05:40:22 +0300 (EEST) Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-1f4c7b022f8so17606045ad.1 for ; Sun, 30 Jun 2024 19:40:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719801619; x=1720406419; 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=9FlViTwfKmOL/ROA/Xb3aAaJWBIwX2bbBrwEycNSwvQ=; b=IXBgI4cvD4jaYlsBj8bczr/Wj/MVBYdLAScj/eQ2eZFSeE89sjfMS6yqGzxCX41co9 rQkbjXMALXsMiUiRDkBUNnKUQbf+RA2ZKdBlcq4Set32QDZjy7SWBTN9VmGNMRh9/rYp dz9u7JXCNtmpBpJUQEkPE1Hn8T0ZW8KwTet+Ox1MMRpgMsYbUYLnXAx1Z/Ydes7+nCoG MNmRKzamYv/29MnzgDyCfM0dmnu3QmKVaODY2nCaZ6q9ms4HGFg4yxGkSYzKjE4OiHfo HZKjFrI2rj9sAzMsGmDDPIIOMC77DI0xw/QurWebMaizRw0PGDTEZ2bFG3cJC5i14i41 TjGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719801619; x=1720406419; 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=9FlViTwfKmOL/ROA/Xb3aAaJWBIwX2bbBrwEycNSwvQ=; b=HS2S1b93GsY7t9fsnQCWrmFM1bfXVWTaBrS8QnsuYRJ27M8wBLSgOC8d3CvBpc7XmV Z9dZkTMoYPm3gW8Sr/FuST/qJE9zp00nVLN+owtmbONn/E1GUl3F2wFqcqem7VKTSVOr bi3cJUfu156RUB2M5aYOuAAzsT+Nc8NyjJj2/QNyhGvjmg13ynd9b5BAaVgNmc+4kDtG TMZCiFIeaUqr3w3trkbOb2ARDHOyGwCN0m1daimJHdHqkFbGmerLaH43OA4koICoJNYK 1TbriDRtx+71oeFUeRB9UmiUx+ldvUFZzMra8bRYN6l8r60OBd8KftE81Ultvd3ht8EB WnGQ== X-Gm-Message-State: AOJu0Yzg/5524D+rV1sDpsWQAZqWnzBCf2bpeXudXcd935wfglt2Hfll IdcP+67GgjoO2U3Zw7ipCmSPxpP52Oq35ScwLlCQK3gpvny9BEXYuO+6qg== X-Received: by 2002:a17:902:d4cd:b0:1fa:ce44:1c6e with SMTP id d9443c01a7336-1fadbd09046mr45413155ad.69.1719801619311; Sun, 30 Jun 2024 19:40:19 -0700 (PDT) Received: from localhost.localdomain ([190.194.167.233]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1fac1599d9dsm52776115ad.292.2024.06.30.19.40.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 30 Jun 2024 19:40:18 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Sun, 30 Jun 2024 23:40:21 -0300 Message-ID: <20240701024022.2898-3-jamrial@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240701024022.2898-1-jamrial@gmail.com> References: <20240701024022.2898-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/4] avformat/mov: check for EOF inside the infe list parsing loop 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: HyhylZ0mACbj Signed-off-by: James Almer --- libavformat/mov.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/mov.c b/libavformat/mov.c index 3aa2398386..9f6752b492 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -8580,6 +8580,8 @@ static int mov_read_iinf(MOVContext *c, AVIOContext *pb, MOVAtom atom) for (i = 0; i < entry_count; i++) { MOVAtom infe; + if (avio_feof(pb)) + return AVERROR_INVALIDDATA; infe.size = avio_rb32(pb) - 8; infe.type = avio_rl32(pb); ret = mov_read_infe(c, pb, infe, i); From patchwork Mon Jul 1 02:40:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 50239 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:cc64:0:b0:482:c625:d099 with SMTP id k4csp1519587vqv; Sun, 30 Jun 2024 19:41:00 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCW9ZBjVK39F/x6gtVRwsyZkMMc0MXloL8q5vfdWJRXDrAfi9ziLGxdBvHRQrU2pl7Isv93MtAJwQHCzp9z3vZ8w3Ot3k/gIeCqrVw== X-Google-Smtp-Source: AGHT+IElA3EkEd6dIGvbytkEP2Pa3au1j14cGNVmVAuvD7CDFDtQ85ih4YQomnIBf1pOmMlYXcqO X-Received: by 2002:a05:6512:ad4:b0:52c:5254:b625 with SMTP id 2adb3069b0e04-52e8270a66dmr3648261e87.52.1719801659535; Sun, 30 Jun 2024 19:40:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1719801659; cv=none; d=google.com; s=arc-20160816; b=Ub5Cx5M9Z5ApMr6vmTJutzdBiwDVr2Rvjadhl/OkNx38QaaoAqYXfLeEaF3zNpJEuc XV0cvF6VQMFKn+B4/i/dgjv547pKzuHrOk/ZHx7CMDgHUBeIBZHiBFKzM0a75E3fkXcy d0Lwf5EE/2cfu0PkULeegplPBeB6O48faknQMRGiiRCZrsK90AzERCAe0SpJ9TSYvAoU xMNSVnh5dgAXbitAlT3PqUaWg68JSjdCMadiStFsPE3f3ItqW/DOmVVE8cmhHYWmvXg0 rlwIDC01c3EhIEA3ci1GtpcTMVL4/6Nxmc6rYZcIqV2CmmqV2mQZQzLYRWgMLsTL4Ryw u0Qw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=4zVi7jUdy0XgqvKc6YbcoNm43xCfGm6CMw7zkSdD9uQ=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=daynVZ6e1p/HklbbfpqGG4cgAo8x0A4h0c6kNlU1/oxOZLgAjld3CnUHEwqv3Mr5OQ YT4duyTFzUiYVGY+ULHPJr6UNfs6bBfvx1ltB7h3iVcT8v7jKBFyoBzHxEKkThOPD/hV tttuAJ/I2PGsvi4MfUijN11p2cXqR6MjGOqTyhYJ1ubiUUHn53XGzTmA2oqu4BJZS9oi /KaASHmomLMKMPxoFHrK+0uh8vc0uKGed0Knk7rEpOmKXANoQcsLC3emXQVd8NPYQPpU cB9MbApK450pU/QuzxA8S9KTp+5h/3xP95jjhIGCYa5jB7lGykOor3MH89ZdkjZv49xy gccA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=ZWjOaFkM; 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 2adb3069b0e04-52e7ab28b03si1978631e87.329.2024.06.30.19.40.59; Sun, 30 Jun 2024 19:40:59 -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=20230601 header.b=ZWjOaFkM; 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 2B56C68D778; Mon, 1 Jul 2024 05:40:30 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D6CCB68D754 for ; Mon, 1 Jul 2024 05:40:23 +0300 (EEST) Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-1f9b523a15cso15591675ad.0 for ; Sun, 30 Jun 2024 19:40:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719801621; x=1720406421; 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=zxGXeLDTWwJrQAuOo1mTnHZzykRZups2fU/jBOYflxw=; b=ZWjOaFkM0Ke5Cbh1CpcyHfjHLibP6MsEbuFS88xqAJGbiGnzqRqy0/0pj/4vBz2/My 7XWg7ZXViDy+OHLjpE0DqTm5EFZVHxPo4CIWjhOcsgRB3XJWZXjHsfL+Y0NuVU3oWox3 V4SyS0XVYvSFgwPvmIDGtE1E2r/Wt7adLxaA3pmg87W4hgiJnyRpRwTNvDo6wtr86jjM 6T/Ca4hj3pKklXkv8TrZswBD16mqfsREKb7t3QzPf3LY2b9WgddhhewM4EP2ofc7qOm7 MZALoVt5k73QZhnoB6wdNTmZpid41X8yh3RbkJZFAnHdi3AJUQgrBDGFenBOsNpAOv3Y BGMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719801621; x=1720406421; 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=zxGXeLDTWwJrQAuOo1mTnHZzykRZups2fU/jBOYflxw=; b=Fl0XOs2XL5EwWo0Oc4EMTYlXyJLtWsDKJqXdFiJahm0u+F0htsyURvajafXpvZbe3E MyApLCariYYmVj2TqXm/TeBd0jFiTuVRwTknLTFdJTcjGrj0Tf2RwsH5MO+C+br8aL6b 4VCpHlprPOoxz0AiTTCiAQeDOHCg5/tnw6h+5+R5QMubiZxKhsE8CGWbZn2/QF05y4U8 MtXsg5mgKP7ZZ/WATK7itVrAV3OLGHCxVmYkyVtxldqolXLYmt1JdyWHAOeITxp6pmpY sRFAtRIwwK8XTYGLqhY3tF7w0hE7DdJvDu3rr4cFwtnvr5PJ6A0fKda3my8xRGze3LAF P+ug== X-Gm-Message-State: AOJu0YxwHASscBQwDCAuiovK65cA4gEyu1wnDsgVV8L1sqFXFkm2gawc 8dZ2mVj2LGIUu0WfuPxOAHKyjd5I8NeVHbxfy4QXAKYmcrliCH0duMVvJw== X-Received: by 2002:a17:902:ec8b:b0:1f4:8bb9:924f with SMTP id d9443c01a7336-1fadb42d8d8mr75043155ad.1.1719801621115; Sun, 30 Jun 2024 19:40:21 -0700 (PDT) Received: from localhost.localdomain ([190.194.167.233]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1fac1599d9dsm52776115ad.292.2024.06.30.19.40.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 30 Jun 2024 19:40:20 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Sun, 30 Jun 2024 23:40:22 -0300 Message-ID: <20240701024022.2898-4-jamrial@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240701024022.2898-1-jamrial@gmail.com> References: <20240701024022.2898-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 4/4] avformat/mov: add more checks for infe atom size 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: voJ40OieJG4m Signed-off-by: James Almer --- libavformat/mov.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavformat/mov.c b/libavformat/mov.c index 9f6752b492..ba33e52086 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -8510,6 +8510,8 @@ static int mov_read_infe(MOVContext *c, AVIOContext *pb, MOVAtom atom, int idx) version = avio_r8(pb); avio_rb24(pb); // flags. size -= 4; + if (size < 0) + return AVERROR_INVALIDDATA; if (version < 2) { avpriv_report_missing_feature(c->fc, "infe version < 2"); @@ -8521,6 +8523,8 @@ static int mov_read_infe(MOVContext *c, AVIOContext *pb, MOVAtom atom, int idx) avio_rb16(pb); // item_protection_index item_type = avio_rl32(pb); size -= 8; + if (size < 1) + return AVERROR_INVALIDDATA; av_bprint_init(&item_name, 0, AV_BPRINT_SIZE_UNLIMITED); ret = ff_read_string_to_bprint_overwrite(pb, &item_name, size);