From patchwork Tue Oct 16 21:01:28 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 10687 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 2CB6D446E46 for ; Wed, 17 Oct 2018 00:08:23 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 83D2F68A570; Wed, 17 Oct 2018 00:08:04 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 57FCD68A31C for ; Wed, 17 Oct 2018 00:07:58 +0300 (EEST) Received: by mail-wm1-f46.google.com with SMTP id e187-v6so24872386wmf.0 for ; Tue, 16 Oct 2018 14:08:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=agFMSTY5rvWUjpP/hbsBP14d0wJTr3s7f4WbLbMP8ZI=; b=YClZsSjrFkVbTZ2NH0nrU4+ofMFSq8Tg6XA3vHHZd+Z22mT+bzHDTHQtijBxv1u2Qf qS4AIlAK7S16qL6CpFdBHDdCb7jQIjPU+sTV562xntX2jy7v8TEWaxiP7ViXp6zlucJM ETDgIq9fxR02Z0RqeJH53RzPM7qubAMdfVTAdnI8x9hVIOgppWG4ghyZoDp37McVlzz0 f73sRJ1m8ZrK6IGmTGioRQ5RJlFiSIF8kRAAIAgrAJ7zfq/mhW6wPGAnF9VJzXJ2vNTF /cEO9KvuRR9b9b5Qk6BiI/bNa+0cM/q4010AGVxdzSWsXYpAmb2VbAUCd4X3wrWxTY3F 8/Ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=agFMSTY5rvWUjpP/hbsBP14d0wJTr3s7f4WbLbMP8ZI=; b=YiJmSD1lrDR8dp95ynz9FakxIhmk5fUoRdlUTjvUeSvNvZLVtqZs968E7gyS37nvJU 0j/Sk1cRMrcwV0UPKmVqnUQsunLaZeoCJjhTyQulK5Bxk+nxso0t/JjLaq3uBpFYRI3m rhxm62R/Eo7hIVcsLTHAsViBEXH9gIfTZs+SICav7I1dxT7UR+8Jlv4hwUCwXtm0Dq3a xv6tNP3bYKDjTtQ4YDRLzian62WuCrFT427ibgkMZWfXsD8MnPXIDSfDte7GF+xfU4nL 3N+RgxXGuJf1VrZsbmFg1FYvcBrcYpcjeT8E5F2cy66SG5u+6e1dQmw2lXeGvn0ZDJbA hr+w== X-Gm-Message-State: ABuFfogqaRCwy0A4Eh3mO8FAzJ2H0R8FH7r5rXuvAzxMi8JnwK6j5OeB 57eZlF9SL/OWMMMLwTsrLvHjBfB6b4k= X-Google-Smtp-Source: ACcGV61ll9Q9MMVp/e1A5jVYaRMZGDW72YGb1o2msoUlvlmIF6d2dyoSDstqBxvEIKV98hp3AUSZhw== X-Received: by 2002:a1c:ee8d:: with SMTP id j13-v6mr18445674wmi.125.1539723695422; Tue, 16 Oct 2018 14:01:35 -0700 (PDT) Received: from rywe.jkqxz.net (cpc91242-cmbg18-2-0-cust650.5-4.cable.virginm.net. [82.8.130.139]) by smtp.gmail.com with ESMTPSA id a205-v6sm10708413wmh.19.2018.10.16.14.01.34 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 16 Oct 2018 14:01:34 -0700 (PDT) From: Mark Thompson To: ffmpeg-devel@ffmpeg.org Date: Tue, 16 Oct 2018 22:01:28 +0100 Message-Id: <20181016210128.7652-3-sw@jkqxz.net> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181016210128.7652-1-sw@jkqxz.net> References: <20181016210128.7652-1-sw@jkqxz.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/3] cbs_h2645: Allocate all internal buffers with padding 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" Any of these buffers (for both H.264 and H.265) might reasonably be parsed using the bitstream reader, so include padding on all of them. --- This seems simpler than adding it to specific cases as problems are found. libavcodec/cbs_h2645.c | 3 ++- libavcodec/cbs_h264_syntax_template.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/cbs_h2645.c b/libavcodec/cbs_h2645.c index a1b92c87ce..e55bd00183 100644 --- a/libavcodec/cbs_h2645.c +++ b/libavcodec/cbs_h2645.c @@ -319,7 +319,8 @@ static int cbs_h2645_read_more_rbsp_data(GetBitContext *gbc) #define byte_alignment(rw) (get_bits_count(rw) % 8) #define allocate(name, size) do { \ - name ## _ref = av_buffer_allocz(size); \ + name ## _ref = av_buffer_allocz(size + \ + AV_INPUT_BUFFER_PADDING_SIZE); \ if (!name ## _ref) \ return AVERROR(ENOMEM); \ name = name ## _ref->data; \ diff --git a/libavcodec/cbs_h264_syntax_template.c b/libavcodec/cbs_h264_syntax_template.c index 7d0ce5918a..9e29132fec 100644 --- a/libavcodec/cbs_h264_syntax_template.c +++ b/libavcodec/cbs_h264_syntax_template.c @@ -718,7 +718,7 @@ static int FUNC(sei_user_data_registered)(CodedBitstreamContext *ctx, RWContext *payload_size = i + current->data_length; #endif - allocate(current->data, current->data_length + AV_INPUT_BUFFER_PADDING_SIZE); + allocate(current->data, current->data_length); for (j = 0; j < current->data_length; j++) xu(8, itu_t_t35_payload_byte[i], current->data[j], 0x00, 0xff, 1, i + j);