From patchwork Sat Jun 29 00:06:53 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 50207 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:cc64:0:b0:482:c625:d099 with SMTP id k4csp593600vqv; Fri, 28 Jun 2024 17:07:21 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVx3wwaq0ZDERAQAZBBcz4Tg0TNDKiJrdQgU1mRwJeqhfpXfNru76mV68X/b+tUMvuoTWJ3Ig2DwQ/BLfGHq+o8K1wykr74N+82iw== X-Google-Smtp-Source: AGHT+IGelIy15I5WUaZp/832oPG0P19uCMoJAVmtMAsWRbbE4E7BC5G2NT+TDUPncaxGu61lnnug X-Received: by 2002:ac2:546f:0:b0:52c:db53:5fe5 with SMTP id 2adb3069b0e04-52ce18351c2mr10983406e87.27.1719619641298; Fri, 28 Jun 2024 17:07:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1719619641; cv=none; d=google.com; s=arc-20160816; b=a83RL6WuVXf75weYFW0eEs/916+yzmz0V42I9IL2pOZphjLsaPqLd7c8lirOQQp4Mr j1MB8eSH3vL4htcFXEsih64+vMAi88c49I0HoHOmXsut+PabG6J6UrNndpqLzotyYjNc tlz64ZRzEuCU5OTRdSQEgAivs4Sw5bPDJ3ZMJ7APqLKD/4Pd5vRINMkPKk4R0kFQbnHO 4y+N9XE0YePyBffJCvJJiiYYAwFzttPrzHcetvoglo+AKMt6u+w0LK+hOTFWjOWLdE1c b/RXjUbDG07X92GjmMevQuuwh2RBCmcWnKOdFS15MKmeIvxSPm6gWz/G/9BJ9KyV9+bh WgLw== 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=4ZmoAMXqM8oLLnkMr3MSUH/w3O1UKfupcOMoL+pKclQ=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=0bCA4THBe6pffaovCoCbYkEepWiqzvgRJ3KT6hi/eXpIXggWISe70t4TBQd+vL45rj VTR9djwW4YHqPsPNq6nz8LB4Wd2mv2E7gMsdgCpvOBuigBatHhBIocRhSX/lS0RBkREf jM3Jd2RIRGWSvixGsp8AUPQlph+H7pB4piYnI5VAfQQMmDmlVc70CRi7RIsk7DCT/g9l IBWg91XMVhfs3OTVktS5nO0lbeatrz+gDyEEMSc661bU2OrFB+DOK6WZVwHpMMrnwjuV QLP9+kguozSXPJLYdQDsDS4u7kkrvlFwjY6+AwLJvT3Fzm7qiC39CspTA174wlUb5jcm xLvg==; 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=EcQPixaj; 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-52e7ab25a8bsi807975e87.213.2024.06.28.17.07.20; Fri, 28 Jun 2024 17:07:21 -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=EcQPixaj; 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 A362368D69E; Sat, 29 Jun 2024 03:07:15 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 041F268CA8A for ; Sat, 29 Jun 2024 03:07:08 +0300 (EEST) Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-1f9a78c6c5dso8162445ad.1 for ; Fri, 28 Jun 2024 17:07:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719619625; x=1720224425; 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=Xvh01E1BLvOpbWNPgH6RV8cUNs7lRCFZ7lHMVb/g95I=; b=EcQPixajct00EbiHcOZ0Rt0AZ/aG7J96h2G0YP1yYOoExFkjSUPJUWEt2UT5MTixW+ Hn7XXbz/Jep933CFlga82ScRk93LwUrCDSe8ykXmNiU+6apPczkmZB0fX0DJj1aRiNz6 ZnEYec4yTwxv47WJ2dO8iobxqTfXA9ff+sxsSGCXjoxCRqVH5krNCDPF+L0cXpT9qzM+ GJoF1aj3cukrU7MWWDf6TrKRKhYNGzWSa5SjCJjCq3j3/1hIfDYThcps5S9LkxI8ateN KdFvcWRn+f4oH1KGOoGRrM6Da7e1YlzmdMgI8E7u/KJvijI7jFUGNwAKy9KAkiwVGx5X 5ECg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719619625; x=1720224425; 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=Xvh01E1BLvOpbWNPgH6RV8cUNs7lRCFZ7lHMVb/g95I=; b=ahEEiFF2dGfr2NQ7w+alCqPAiDa/4vL1/IfAG6ac8/j4tCGOTEQCri0bEaf8mMdGyb uGOv9pZD6LHVUErv937YLb+DD6N8LnF/VHKZl4Tkq92DaJ4T5/rRxGh9xLEzl4d6urqs 3eZsoG8BCr07EFOCygZIurGEnbPknNE49RGYICJOui79iEGuSdID1jL/uee2wrCmYuM6 Ih9iwXn9rJpZSV5nutQsYyWdsJPhdzUyg7j3qxMxE4Xauc593PDO/Ldk1oDsHPPWX5cm CMc25u8SyvK2QCuDBVpVLB0uei+ENNYWeIvIPjt5caybpXDJau72w1R7Bq7Ki0CAguIl VaqA== X-Gm-Message-State: AOJu0YzvfBaVvq7Z+kNy33tXQmWPTBRTVoMfm898nS6TFdqxG/W21iB1 0x4H0YC6rJRkLT/rkKFBlfMG8pWk/VrmZDwFO3pPg/ES+DdpNK2o4VunPw== X-Received: by 2002:a17:902:da89:b0:1fa:aa62:8b65 with SMTP id d9443c01a7336-1faaa628d72mr61850135ad.48.1719619624692; Fri, 28 Jun 2024 17:07:04 -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.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Jun 2024 17:07:03 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Fri, 28 Jun 2024 21:06:53 -0300 Message-ID: <20240629000654.63462-1-jamrial@gmail.com> X-Mailer: git-send-email 2.45.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] avformat/mov: check that sample and chunk count is 1 for HEIF 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: 1IQPRveOFe/p Fixes NULL pointer dereference in broken/fuzzed streams. 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 14f43bf906..ba5f85e7e3 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -9904,6 +9904,8 @@ static int mov_read_header(AVFormatContext *s) st->codecpar->width = item->width; st->codecpar->height = item->height; + if (sc->sample_count != 1 || sc->chunk_count != 1) + return AVERROR_INVALIDDATA; sc->sample_sizes[0] = item->extent_length; sc->chunk_offsets[0] = item->extent_offset + offset;