From patchwork Fri Dec 8 16:28:41 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "tiejun.peng" X-Patchwork-Id: 6612 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.94 with SMTP id m30csp745735jah; Fri, 8 Dec 2017 08:29:49 -0800 (PST) X-Google-Smtp-Source: AGs4zMayLuc6s3N2iVjOYadixYCuJIrAI0KiQTsLoFi+6VroDYyrIF2R3TZNn2nZ1FbhD7+GiT00 X-Received: by 10.223.160.230 with SMTP id n35mr27867642wrn.116.1512750589806; Fri, 08 Dec 2017 08:29:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1512750589; cv=none; d=google.com; s=arc-20160816; b=0MdgNk+H8xq+60OeYYbgTU5raJLQpCHKhI8FwSlLbHrvERnWmrCl9/nvCtFS22i7e6 WnIb+I14xXefZv2FLWSN2A7TG3yBYUSz522Cg9uHecwEM4jufAb9LL8jiJPQ7hovqT9f 5NxtM+17Is5fs5VWPY0jgs4TqI3criOdkKydeEGeyw8QhIPlOtadLlofhSqFmEVTtDkg WXmCBmQcz5uWun4v7l56MbNICjlLjVBvAAz3dvoWmfj1SGBehjdaNflg/FMRInLJNHAr CYNg9zohgDCDt6ByLnBqHD6Gk0UCak9IFZk/gG7OD5CVOxQdC4OHfRlE7GfIVK2KPUb0 QQ0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:feedback-id:message-id:date:to:from :dkim-signature:delivered-to:arc-authentication-results; bh=jw8P4EZQ3Sd0IDNkNdry2RRQ2twT/q/Xa/AIbX/KtLg=; b=q+XRpo0yb+sAJ3yofdS1K3n/iSjpFOm0SF+X47BvHz0HhYNNd+ajgS5uMA9ktUNCsJ XopTvo9ImTDCGTZ8Y5wnWTtqPD6C3WYDPvizS9uXppbY+nmnRa6meK3dA+OqhkMnTjfz 12v5u5Yef/XXjR7c8m6jrT3NDUlBKHpq6PhLeiknxyP9hcIpW5truxFqmRcWvqDHzjob r6w8ayIX/oXwkLe/xvfsokuRzCdqPKvsw9l2g32NVzK1ZCrucGQM+Td0iFUACuV5b2LO IyFKcmr0pR22p+NiUKcssm3vxjRNGxNdteIBddtx6WKsoEuiWSaSc+wadHaa6xQt1wK+ fMZA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=riMiudfw; 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=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id d38si1354580wma.277.2017.12.08.08.29.49; Fri, 08 Dec 2017 08:29:49 -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=@foxmail.com header.s=s201512 header.b=riMiudfw; 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=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B342668A51B; Fri, 8 Dec 2017 18:29:41 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from smtpproxy19.qq.com (smtpproxy19.qq.com [184.105.206.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A8C6068A4DF for ; Fri, 8 Dec 2017 18:29:34 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1512750567; bh=O+chpkg80tid2I7wZu7vV0uE5m4kKXvN/A28z1BRVaQ=; h=From:To:Cc:Subject:Date:Message-Id; b=riMiudfwn0NBaQf5zB/Obk8LqSRehejdxTqD2mcVKrcOIL7I+gN+pPveTUk++skSB INZtXJ4k2PtKNQ8NcKlcjR2qeAnA1M43jb3bpaCgCuTvP2T8Wcw9TeSvy94VmJ+spw 0FByAVAog5g1H5zvUs2+oIw8SH4YSsWaAQt2qFPc= X-QQ-mid: esmtp20t1512750566tpfybnqig Received: from localhost.localdomain (unknown [120.229.8.48]) by esmtp4.qq.com (ESMTP) with id ; Sat, 09 Dec 2017 00:29:07 +0800 (CST) X-QQ-SSF: C100000000000020F4100F00000000T X-QQ-FEAT: RC1ObnYnwEnE5e+aCZeGzXtmOKm0oFSNCK0BnS8gymNDlOFqefhWD2vzXt/l3 ughtMt4/WDcd0zj3XHJH4VRdxnOeeR3wiyD9ZLB+D2FqNm4rFOXVo9ncs62grr6VdTGo8ds SS7FQcAFlaebSzWUdDkTyu28MMUIW4c68SwGkWe8tqmMzuu7BV2rLwPB9gNno8n7E308hjf Mxr+3gBJyq4ITALKJ0wjfwa7Cmw8pDZyk6Ptfogvzux8MrqXxxRQ4qy3YD4rUKj/S1PXRZI smPegkPxKsRiN7 X-QQ-GoodBg: 0 From: "tiejun.peng" To: ffmpeg-devel@ffmpeg.org Date: Sat, 9 Dec 2017 00:28:41 +0800 Message-Id: <1512750521-7407-1-git-send-email-tiejun.peng@foxmail.com> X-Mailer: git-send-email 2.7.4 X-QQ-SENDSIZE: 520 Feedback-ID: esmtp:foxmail.com:bgforeign:bgforeign1 X-QQ-Bgrelay: 1 Subject: [FFmpeg-devel] [PATCH] lavf/mov: add some useful warning log of eof 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 Cc: "tiejun.peng" MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: tiejun.peng --- libavformat/mov.c | 43 +++++++++++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index c901859..9982204 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -1991,8 +1991,10 @@ static int mov_read_stco(MOVContext *c, AVIOContext *pb, MOVAtom atom) sc->chunk_count = i; - if (pb->eof_reached) + if (pb->eof_reached) { + av_log(c->fc, AV_LOG_WARNING, "reached eof, corrupted STCO atom\n"); return AVERROR_EOF; + } return 0; } @@ -2522,8 +2524,10 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries) sc->stsd_count++; } - if (pb->eof_reached) + if (pb->eof_reached) { + av_log(c->fc, AV_LOG_WARNING, "reached eof, corrupted STSD atom\n"); return AVERROR_EOF; + } return 0; } @@ -2624,8 +2628,10 @@ static int mov_read_stsc(MOVContext *c, AVIOContext *pb, MOVAtom atom) sc->stsc_count = i; - if (pb->eof_reached) + if (pb->eof_reached) { + av_log(c->fc, AV_LOG_WARNING, "reached eof, corrupted STSC atom\n"); return AVERROR_EOF; + } return 0; } @@ -2676,8 +2682,10 @@ static int mov_read_stps(MOVContext *c, AVIOContext *pb, MOVAtom atom) sc->stps_count = i; - if (pb->eof_reached) + if (pb->eof_reached) { + av_log(c->fc, AV_LOG_WARNING, "reached eof, corrupted STPS atom\n"); return AVERROR_EOF; + } return 0; } @@ -2723,8 +2731,10 @@ static int mov_read_stss(MOVContext *c, AVIOContext *pb, MOVAtom atom) sc->keyframe_count = i; - if (pb->eof_reached) + if (pb->eof_reached) { + av_log(c->fc, AV_LOG_WARNING, "reached eof, corrupted STSS atom\n"); return AVERROR_EOF; + } return 0; } @@ -2808,8 +2818,10 @@ static int mov_read_stsz(MOVContext *c, AVIOContext *pb, MOVAtom atom) av_free(buf); - if (pb->eof_reached) + if (pb->eof_reached) { + av_log(c->fc, AV_LOG_WARNING, "reached eof, corrupted STSZ atom\n"); return AVERROR_EOF; + } return 0; } @@ -2870,8 +2882,10 @@ static int mov_read_stts(MOVContext *c, AVIOContext *pb, MOVAtom atom) sc->duration_for_fps += duration; sc->nb_frames_for_fps += total_sample_count; - if (pb->eof_reached) + if (pb->eof_reached) { + av_log(c->fc, AV_LOG_WARNING, "reached eof, corrupted STTS atom\n"); return AVERROR_EOF; + } st->nb_frames= total_sample_count; if (duration) @@ -2948,8 +2962,10 @@ static int mov_read_ctts(MOVContext *c, AVIOContext *pb, MOVAtom atom) sc->ctts_count = ctts_count; - if (pb->eof_reached) + if (pb->eof_reached) { + av_log(c->fc, AV_LOG_WARNING, "reached eof, corrupted CTTS atom\n"); return AVERROR_EOF; + } av_log(c->fc, AV_LOG_TRACE, "dts shift %d\n", sc->dts_shift); @@ -2995,7 +3011,12 @@ static int mov_read_sbgp(MOVContext *c, AVIOContext *pb, MOVAtom atom) sc->rap_group_count = i; - return pb->eof_reached ? AVERROR_EOF : 0; + if (pb->eof_reached) { + av_log(c->fc, AV_LOG_WARNING, "reached eof, corrupted SBGP atom\n"); + return AVERROR_EOF; + } + + return 0; } /** @@ -4720,8 +4741,10 @@ static int mov_read_trun(MOVContext *c, AVIOContext *pb, MOVAtom atom) fix_frag_index_entries(&c->frag_index, next_frag_index, frag->track_id, entries); - if (pb->eof_reached) + if (pb->eof_reached) { + av_log(c->fc, AV_LOG_WARNING, "reached eof, corrupted TRUN atom\n"); return AVERROR_EOF; + } frag->implicit_offset = offset;