From patchwork Mon Aug 24 19:42:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carl Eugen Hoyos X-Patchwork-Id: 21889 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id E5A5744B450 for ; Mon, 24 Aug 2020 22:43:04 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C785A689AD2; Mon, 24 Aug 2020 22:43:04 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A9BFE688103 for ; Mon, 24 Aug 2020 22:42:57 +0300 (EEST) Received: by mail-pj1-f46.google.com with SMTP id q1so4750491pjd.1 for ; Mon, 24 Aug 2020 12:42:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=kzuZWq4Hm7PaU4T7ZPZfLOsVNHBNo4t0rhmfJWbfp+s=; b=hQ+JioRbH8iSxLgQWuWOBJCkFxf5qmDh+zrwDfyqPGgMewRQEFpI2LnbhHk1rG5IPR F6Y3PCJgeMeEpX7xWsaRlV4Hi20zwukqelEC9GP+gufe+djc01pFXP5I8rRe/Et6beOE q4tpPJ/Dz2jFVFrx5TWkOLBxZRJmc6E34kVUo0bb/wqZDwYRLzWX/MqK7cSfNHYheJI+ 4dOfbNqZvoC0hinIsTsO1fsLmfIaxbivFmkaujC6PehNKn9fuUxeaCPpvabDzsYHKvqk cQCDXUqyibdaOHsgWYaOOIxbXTJ4LfRe9OvZSfRCzF0LvE80TUkDa792BhKOE/4wgtmY Rznw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=kzuZWq4Hm7PaU4T7ZPZfLOsVNHBNo4t0rhmfJWbfp+s=; b=m6zVJSZ0uZakH1Fg+yfcykb6r8d0GjSL/d8BU9CzF0ULHH3W2aTd0IhRvDCaDPhpQ9 8Drs9nXuhX1kVZ/whmOxL6vESS+3lEj6jdhmeigj6LCyOdz27GIe9V9WCN/GWoqu3CR6 QsmI/K5sQ3VL93rQWtp2E9zZYhdnXFVKIyMlW6MoMYKaMOOvRAnZgrKDdensLwwLywdV N61UyZBzCBjDQ89kvabfY+x4VLZrDjGXTmz1WaAQENnL06dcijsRX1RI6tFHzgHCxzdJ f0o8c1rnD/01VBAMWgPWa1Ud5iUWMYyYqLxTdUPdDLCfnfvSb+PJe8cquzr5piibOJDN y8jw== X-Gm-Message-State: AOAM532wit9hIgEPO0MfFiCRBD8NVBoqwu0hcOzDJldtU+yrOuRIQmfe 0lUo7AVof7IZ0j0GvZ6NGsyVOacYKKcfesngTULJmT/4IUw= X-Google-Smtp-Source: ABdhPJyrYebxq1HVAvCMCGwoP3t7yk4y9CjWBLUsVfXvBxk9fTFNUjPMT/nM+LDHhKOhw5m5aWeCacD/c/8zlNWcFH0= X-Received: by 2002:a17:90a:a787:: with SMTP id f7mr648822pjq.103.1598298175526; Mon, 24 Aug 2020 12:42:55 -0700 (PDT) MIME-Version: 1.0 From: Carl Eugen Hoyos Date: Mon, 24 Aug 2020 21:42:44 +0200 Message-ID: To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH]lavf/mxfdec: Limit score for strangely cut files X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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" Hi! Attached patch fixes ticket #8846, the sample there is both a mov and an mxf file. It is not entirely clear to me if the sample was only made to annoy us but the content looks real. An alternative may be to check the extension if the score is equal but I don't really like that either. Other solutions welcome, Carl Eugen Subject: [PATCH] lavf/mxfdec: Limit score for strangely cut files. Only return AVPROBE_SCORE_MAX if the header partition pack key is at the start of the file. Fixes ticket #8846. --- libavformat/mxfdec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c index 4b56984b77..14b430a8d4 100644 --- a/libavformat/mxfdec.c +++ b/libavformat/mxfdec.c @@ -3615,7 +3615,7 @@ static int mxf_probe(const AVProbeData *p) { AV_RN32(bufp+ 4) == AV_RN32(mxf_header_partition_pack_key+ 4) && AV_RN32(bufp+ 8) == AV_RN32(mxf_header_partition_pack_key+ 8) && AV_RN16(bufp+12) == AV_RN16(mxf_header_partition_pack_key+12)) - return AVPROBE_SCORE_MAX; + return bufp - p->buf ? AVPROBE_SCORE_MAX - 1 : AVPROBE_SCORE_MAX; bufp ++; } else bufp += 10;