ffmpeg | branch: master | Jun Zhao <[email protected]> | Thu Aug 29 
00:15:52 2019 +0800| [7ce15b1d439400cba1aa09e9ee80aacbd84eb988] | committer: 
Jun Zhao

avutil/file: always set *size to zero if *bufptr is NULL

Always set *size to zero if *bufptr is NULL, it's more make sence.

fix #8095

Reviewed-by: Michael Niedermayer <[email protected]>
Signed-off-by: Jun Zhao <[email protected]>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7ce15b1d439400cba1aa09e9ee80aacbd84eb988
---

 libavutil/file.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavutil/file.c b/libavutil/file.c
index d946085b28..b91c2fa391 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);

_______________________________________________
ffmpeg-cvslog mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to