From patchwork Wed Nov 9 22:27:04 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Cadhalpun X-Patchwork-Id: 1367 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.90.1 with SMTP id o1csp538041vsb; Wed, 9 Nov 2016 14:27:14 -0800 (PST) X-Received: by 10.194.189.198 with SMTP id gk6mr1560645wjc.167.1478730434798; Wed, 09 Nov 2016 14:27:14 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id ft4si1802315wjb.273.2016.11.09.14.27.14; Wed, 09 Nov 2016 14:27:14 -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=@googlemail.com; 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=QUARANTINE dis=NONE) header.from=googlemail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 91F4C689E9C; Thu, 10 Nov 2016 00:27:08 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f67.google.com (mail-wm0-f67.google.com [74.125.82.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 59810689E96 for ; Thu, 10 Nov 2016 00:27:02 +0200 (EET) Received: by mail-wm0-f67.google.com with SMTP id u144so32021908wmu.0 for ; Wed, 09 Nov 2016 14:27:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=from:to:subject:message-id:date:user-agent:mime-version :content-transfer-encoding; bh=uRtg7K4Wy+lV1xaNCNkXHC3UkbHFC+u00W8I3+GTlQM=; b=YuLZa+K/NQQg52m5WAVzfj8qJjZiIYII/SoSQ+wrFcAE3QYtge7sG3kx0+pPhy7r5d Im9QiaM0gADTBMg1+PtcB0FTARxS30ihOiUp7X3KCAuzt64ybauB5YqdfDCdvXXOJ5B5 znrIJ7SAm5UXpmw6PtgfqSDFNjCKq8L7rr8dCUYFtfqADeg/xwNJd17uo5RvVTlmPDc3 8NPLoP9dnARhD8qMZjPeGS3BRCuVyiA4P0BmrbAuWJFtYlhGWRKiNQw/xl1G759I/cNC Dqd94/1W8+MYJ4D5x2VafbVbpAMiuX/sHh0ua23smFYDY9OjkIjnRMcE3+qyUIH/4IqS ofTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:message-id:date:user-agent :mime-version:content-transfer-encoding; bh=uRtg7K4Wy+lV1xaNCNkXHC3UkbHFC+u00W8I3+GTlQM=; b=WToyMn9SgMgJoUq50p9Krk6Sfy0YuD9Ayo+lmCfCpAupaL11nPUdEFKNbTta171+xR Q2YdBp64R+j8ehgHf7E3gYyR9uwWQOvS/uFC3W/EVzz7NDTOzun/5OD29JwEvD5r9EzO 460G1uk9E80M1uvwzm3L7tYD5XU2DEvQORurxCuFcTHFpHFJXx5iZiCsH3sFav2BDLzr BGvlXllxoTe6xOmyfZDRMeuGFXq0aOv0Zsiyp0/dfzuH+RzHZE6EN/THFWf9OOuqMjFt es4FmdeiqtMepXQ8JMs6muGKm4jyVyRpxtL7AIWaB6Y4TmnnjhyN3dZoaRayoAk6mlMe xqDw== X-Gm-Message-State: ABUngvc0gn3TRdsC0tGRj7Ddn4BtDXkEwuhw4DXtmPNatW96fB+hYNB37BDFE/H2qf3VyA== X-Received: by 10.28.166.208 with SMTP id p199mr24555938wme.27.1478730425332; Wed, 09 Nov 2016 14:27:05 -0800 (PST) Received: from [192.168.2.21] (p5B072193.dip0.t-ipconnect.de. [91.7.33.147]) by smtp.googlemail.com with ESMTPSA id q7sm1992487wjh.9.2016.11.09.14.27.04 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 09 Nov 2016 14:27:04 -0800 (PST) From: Andreas Cadhalpun X-Google-Original-From: Andreas Cadhalpun To: FFmpeg development discussions and patches Message-ID: <1d9034fb-8f7c-1fac-c3ac-bc13804eeef7@googlemail.com> Date: Wed, 9 Nov 2016 23:27:04 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.4.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] pgssubdec: only set w/h/linesize when allocating data 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" Rects with positive w/h/linesize but no data are invalid. Signed-off-by: Andreas Cadhalpun --- libavcodec/pgssubdec.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libavcodec/pgssubdec.c b/libavcodec/pgssubdec.c index cef477d..b50b37b 100644 --- a/libavcodec/pgssubdec.c +++ b/libavcodec/pgssubdec.c @@ -556,12 +556,13 @@ static int display_end_segment(AVCodecContext *avctx, void *data, sub->rects[i]->x = ctx->presentation.objects[i].x; sub->rects[i]->y = ctx->presentation.objects[i].y; - sub->rects[i]->w = object->w; - sub->rects[i]->h = object->h; - - sub->rects[i]->linesize[0] = object->w; if (object->rle) { + sub->rects[i]->w = object->w; + sub->rects[i]->h = object->h; + + sub->rects[i]->linesize[0] = object->w; + if (object->rle_remaining_len) { av_log(avctx, AV_LOG_ERROR, "RLE data length %u is %u bytes shorter than expected\n", object->rle_data_len, object->rle_remaining_len);