From patchwork Thu Nov 30 20:19:10 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dale Curtis X-Patchwork-Id: 6475 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.94 with SMTP id m30csp314183jah; Thu, 30 Nov 2017 12:24:48 -0800 (PST) X-Google-Smtp-Source: AGs4zMYzznaGrYrsVl/+a4kvkLGwfo1N/rTMMM9K0JxiAEgFueleYE7pB7o+Rdmb+j53aw2QrNHz X-Received: by 10.28.88.65 with SMTP id m62mr3064892wmb.111.1512073488298; Thu, 30 Nov 2017 12:24:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1512073488; cv=none; d=google.com; s=arc-20160816; b=B2PkHTylJgwQRsWQltulB0P93vt2W3g09w+cE/mNeZHNrgd2C0V08fpkQRrluenqDR yHZBKQTiO3ZWbCh+xfrfVI1qQrkbzm2xFfmb++hjou4u31lHS7EmBimzhdERLZ2Jxye/ YAVdJu2hkcPUESYBepk0df6gduImWy3uUQ7fwtQtYWBtZxTYFVz7uAHqwGkFw318H8GV /HmSdExAsNdhAd4XRyA5tZFPJMj5ra0tSttdHcompJC6qITjQp2GXtEVWBtfPSODR+l8 CuG4HqZ+t8MsQGMzJGGSAfD6coKDcEcpJgEnF9Gi6r1LgMI6xvwVoV/GNM0kJeNIgfW2 xirg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject:to :message-id:date:from:references:in-reply-to:mime-version :dkim-signature:dkim-signature:delivered-to :arc-authentication-results; bh=x82vZXSnX7yhClV2K0+Dfujd27h1E3S6qc/gDRoYPmg=; b=Kr4IShCpTB5WW8eKtRYOcPY9357wRBZHoZBnwTf0N/WGmAq9oZPtTG5R1gMXmtqDlH YehLdd6yWeaflRf7+AOwLQ5qCOS0hdV3ig0m/vClQJ7WghGh8tZzTUnzGTn+70KAy8QX SdO60Lh2u6BLdAPoD/2XkMB43LwVNAlKbAmHbw0o9nUUfJoCDZjIL/eiiE4OD7rDnsPa KWC5tUOrV8srMxsOVKlnx3th4eW/tLGIvEeDEleUFj0B6QcypcvX8qWzOvnCJhfjezyf kVfQaoGznqDgFW2GAAJAiiU5ROmRw364ehiQRQCVQ4Titu15YJxtARtD/v+oPDN39QRi 7wnw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@google.com header.s=20161025 header.b=wGvbL9SV; dkim=neutral (body hash did not verify) header.i=@chromium.org header.s=google header.b=arW6RD4g; 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=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id f23si3677969wmh.16.2017.11.30.12.24.47; Thu, 30 Nov 2017 12:24:48 -0800 (PST) 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=@google.com header.s=20161025 header.b=wGvbL9SV; dkim=neutral (body hash did not verify) header.i=@chromium.org header.s=google header.b=arW6RD4g; 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=NONE dis=NONE) header.from=chromium.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B62ED68A3CC; Thu, 30 Nov 2017 22:24:43 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr0-f178.google.com (mail-wr0-f178.google.com [209.85.128.178]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 99A6B68A374 for ; Thu, 30 Nov 2017 22:24:36 +0200 (EET) Received: by mail-wr0-f178.google.com with SMTP id y21so7876186wrc.1 for ; Thu, 30 Nov 2017 12:24:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to; bh=vuGpI/H58BrKtdzg8hF0iqfQ848hI1o9rbGC12Dog34=; b=wGvbL9SVCeC7IXVQSCqRYH5sWLA3Sp8OFC/03RQOKQeetGfK/1onTmTDPGczxPZRAQ PzLNMDYWdYj5cbIcAw0DaTLb+QyLtqcQpAxLepE0Dvbs1vaA1lDjqQTRekIjolKTNNtX CvIq5RjdMQ8Pd5BgeZY7ANpsoTndATfolmnIVs674nOIIyOCojo6BZIWqDs08dCZ3uMB /nEOko/BR5Z9yZHu47cL/7b707bNh0zI9EZHt8zX1ap0K6ZE5wQSI2ehyhwhSxsvY+kG +9LAenr8Cs2nFqT53UOuPukVfC22uRGB5+ssQ0RNwWGwvuuzoxxh/fB+rx6Ja72RPrNa GKDw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to; bh=vuGpI/H58BrKtdzg8hF0iqfQ848hI1o9rbGC12Dog34=; b=arW6RD4gMciPve5aLHv8nXo1H5XU6x4wC0xbP3OPaqtO/Adt3k+lY9MkoG7DTcH5ut ZIhNZtuXfgJt2wO2CN8ZOKWrf2O5yb7oYUomMBbuOSuSFb/LcItZJKOsvivJ6Wzl1HlT nxZmmTKf7TXa6oDpOlTR6b06EbY0L+Bh03EN8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to; bh=vuGpI/H58BrKtdzg8hF0iqfQ848hI1o9rbGC12Dog34=; b=n/blHEF1cjcaGa44X3DTwS2r92u6/XYqwIE6OjB7B2+Ofc5lewvBykYBFScdvD/t5a /BS3Zd29hbh0R0CHlbDwgLMvTbIXpcmXqE3j/dXKGVl3IIdDoAEkaPJfQ2LFJJ5T4E5B E620ZK27NOHcoPdQD5+riTLrA+H8njjNkrgl6wyg1BR/9ENFuPsFRUqf62okmnBGbO0E hL0sHwrFjT4vYain8CczbBlZcC9SxLxvwjBWPH6EJb1BlWY3r1zDRtlDi1kW48CEjKvy u1F93RKH2O1e84tEjLemlIzIDtk52/t2MG6vxo7d5F94ax19b10ZzRC1z15G61ZeBEYh Lj8Q== X-Gm-Message-State: AJaThX5hj53s9ZdDG7O/8UbdhiTHGOQ8KG0t9+PYl3LuBDPuaexcihIi UGOkzTgXXyG0j34JVR3NCiohOdM94MVPTq5HZiqUQdWZ X-Received: by 10.223.184.197 with SMTP id c5mr2950913wrg.18.1512073171463; Thu, 30 Nov 2017 12:19:31 -0800 (PST) MIME-Version: 1.0 Received: by 10.28.161.4 with HTTP; Thu, 30 Nov 2017 12:19:10 -0800 (PST) In-Reply-To: <20171130015853.GQ4636@nb4> References: <20171129003221.GI4636@nb4> <20171130015853.GQ4636@nb4> From: Dale Curtis Date: Thu, 30 Nov 2017 12:19:10 -0800 X-Google-Sender-Auth: UsNxvQo6G6U60k3fWf7gn8zCVI0 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.20 Subject: Re: [FFmpeg-devel] [ogg] Respect AVERROR codes returned by ogg header parsing. 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" On Wed, Nov 29, 2017 at 5:58 PM, Michael Niedermayer wrote: > > AV_EF_EXPLODE appears to be a possibility, yes > in general demuxers should try to extract as much as possible from a > file and not give up if some broken packet is found > I don't think this is a good idea; some of these errors seem fairly fatal to the overall process. I think instead it's better to write off the sample you have as being invalid. That said, I defer to your judgement here, so I've produced both versions of the patch and leave it to your decision. Chrome is now always using AV_EF_EXPLODE, so either works for our usage. - dale From 80975de4c72f81d65ad9d3fa0c45ea2903a52434 Mon Sep 17 00:00:00 2001 From: Dale Curtis Date: Tue, 28 Nov 2017 13:40:20 -0800 Subject: [PATCH] Respect AVERROR codes returned by ogg parsers. Fixes ticket #6804. All of the ogg header and packet parsers may return standard AVERROR codes; these return values should not be treated as success. Signed-off-by: Dale Curtis --- libavformat/oggdec.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/libavformat/oggdec.c b/libavformat/oggdec.c index 193a286e43..a55743db0d 100644 --- a/libavformat/oggdec.c +++ b/libavformat/oggdec.c @@ -543,7 +543,11 @@ static int ogg_packet(AVFormatContext *s, int *sid, int *dstart, int *dsize, os->incomplete = 0; if (os->header) { - os->header = os->codec->header(s, idx); + if ((ret = os->codec->header(s, idx)) < 0) { + av_log(s, AV_LOG_ERROR, "Header processing failed: %d\n", ret); + return ret; + } + os->header = ret; if (!os->header) { os->segp = segp; os->psize = psize; @@ -574,8 +578,12 @@ static int ogg_packet(AVFormatContext *s, int *sid, int *dstart, int *dsize, } else { os->pflags = 0; os->pduration = 0; - if (os->codec && os->codec->packet) - os->codec->packet(s, idx); + if (os->codec && os->codec->packet) { + if ((ret = os->codec->packet(s, idx)) < 0) { + av_log(s, AV_LOG_ERROR, "Packet processing failed: %d\n", ret); + return ret; + } + } if (sid) *sid = idx; if (dstart) -- 2.15.0.531.g2ccb3012c9-goog