From patchwork Wed Aug 28 17:04:43 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 14761 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 23D2944856C for ; Wed, 28 Aug 2019 20:30:37 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 033976804BB; Wed, 28 Aug 2019 20:30:37 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f193.google.com (mail-qt1-f193.google.com [209.85.160.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 79B59680310 for ; Wed, 28 Aug 2019 20:30:30 +0300 (EEST) Received: by mail-qt1-f193.google.com with SMTP id j15so374127qtl.13 for ; Wed, 28 Aug 2019 10:30:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=6vb0aWmBvD1FaUqFOBzV7axOiWfa5BgcC14F49goqxc=; b=cbzsDp6M3D19mhNH7CxTzUduEkgWcZY1m4Q0XptIdH1xL0OUMfImCj5jACfORTBQkF 800fWJydWrBaPhZ5tjjdMFV3m7U5V8g7Ptoc10QXgVNWKImZ6je0vYzE2JOwdwdzD0Ns 3xys8z18jAavsBZLGindploqxA/KZ9wvPwSCooHJwMgpacXTVoijxxIA1oh8XbtGMGaK 9Z7l5I5j5fZs67Whc9uufkJl4RMcuxDpVF63Dts/mu+f/XFCdIvih0zPlMGis1LFeNso pBLjrNfZXS8841cuAUnF4s3HoKiWT5S5prK++LwIHHOyu4+z63VFFy6W76Ixl/ffpGRA X9xA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=6vb0aWmBvD1FaUqFOBzV7axOiWfa5BgcC14F49goqxc=; b=ey34OCdpczKmzcused/QMQguKhOR2SfK3PKVXlwSKVnU+73sHndCnbzJgHZ9olg0ak I6xOhZ6IhgqKa8Ne4TJJeDpCHxIbuhUotfEqlkAU0gYEvUSwoSoWfJcLE6ds487TqYjR f1AA3oCOQ4aCxXm2H0G/cgkKyQ6UOYwVqoImKOpKI2y/kTlNrUHZWrrcfdFv4R6qMwOt XsCQHswKJU666vW09NP6d9TIEpOduikR1OJfnzNLbHB9VRY78AvueaiL50uO8ceR2sEt 6KRd+egva7j7I4lEor68DJgOD/P9npI338JpHg/txBbW40r1NRuRkzirRdn1QllYd8ov +/kA== X-Gm-Message-State: APjAAAU06oT97MNHvZLSuCyLQRLiXNXLegCzKFhkg21TcSGYeuit8k6X gfDMvmsrjVEpZIFBfKNZLHKXVnf4 X-Google-Smtp-Source: APXvYqye8sjQ0pK4VVaRFcyioU0o/IgzsL4gewBFtj+PIYwVpNWpLTF+19sspGXMVPtzsbUtvj5jUg== X-Received: by 2002:a63:89c7:: with SMTP id v190mr4168365pgd.299.1567011889499; Wed, 28 Aug 2019 10:04:49 -0700 (PDT) Received: from localhost.localdomain ([47.90.47.25]) by smtp.gmail.com with ESMTPSA id 19sm2901059pjc.25.2019.08.28.10.04.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 28 Aug 2019 10:04:48 -0700 (PDT) From: Jun Zhao To: ffmpeg-devel@ffmpeg.org Date: Thu, 29 Aug 2019 01:04:43 +0800 Message-Id: <1567011883-32302-1-git-send-email-mypopydev@gmail.com> X-Mailer: git-send-email 1.7.1 Subject: [FFmpeg-devel] [PATCH V1] avutil/file: always set *size to zero if *bufptr is NULL 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: Jun Zhao MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Jun Zhao Always set *size to zero if *bufptr is NULL, it's more make sence. fix #8095 Signed-off-by: Jun Zhao --- libavutil/file.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/libavutil/file.c b/libavutil/file.c index d946085..f228b72 100644 --- a/libavutil/file.c +++ b/libavutil/file.c @@ -60,6 +60,7 @@ int av_file_map(const char *filename, uint8_t **bufptr, size_t *size, off_t off_size; char errbuf[128]; *bufptr = NULL; + *size = 0; if (fd < 0) { err = AVERROR(errno); @@ -97,6 +98,7 @@ int av_file_map(const char *filename, uint8_t **bufptr, size_t *size, av_strerror(err, errbuf, sizeof(errbuf)); av_log(&file_log_ctx, AV_LOG_ERROR, "Error occurred in mmap(): %s\n", errbuf); close(fd); + *size = 0; return err; } *bufptr = ptr; @@ -108,6 +110,7 @@ int av_file_map(const char *filename, uint8_t **bufptr, size_t *size, if (!mh) { av_log(&file_log_ctx, AV_LOG_ERROR, "Error occurred in CreateFileMapping()\n"); close(fd); + *size = 0; return -1; } @@ -116,6 +119,7 @@ int av_file_map(const char *filename, uint8_t **bufptr, size_t *size, if (!ptr) { av_log(&file_log_ctx, AV_LOG_ERROR, "Error occurred in MapViewOfFile()\n"); close(fd); + *size = 0; return -1; } @@ -126,6 +130,7 @@ int av_file_map(const char *filename, uint8_t **bufptr, size_t *size, if (!*bufptr) { av_log(&file_log_ctx, AV_LOG_ERROR, "Memory allocation error occurred\n"); close(fd); + *size = 0; return AVERROR(ENOMEM); } read(fd, *bufptr, *size); @@ -138,7 +143,7 @@ out: void av_file_unmap(uint8_t *bufptr, size_t size) { - if (!size) + if (!size || !bufptr) return; #if HAVE_MMAP munmap(bufptr, size);