mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
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 <michael@niedermayer.cc> Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
This commit is contained in:
parent
7c0b3ba7dd
commit
7ce15b1d43
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user