@@ -87,6 +87,7 @@ int av_file_map(const char *filename, uint8_t **bufptr, size_t *size,
err = AVERROR(errno);
av_strerror(err, errbuf, sizeof(errbuf));
av_log(&file_log_ctx, AV_LOG_ERROR, "Error occurred in mmap(): %s\n", errbuf);
+ *size = 0;
close(fd);
return err;
}
@@ -98,6 +99,7 @@ int av_file_map(const char *filename, uint8_t **bufptr, size_t *size,
mh = CreateFileMapping(fh, NULL, PAGE_READONLY, 0, 0, NULL);
if (!mh) {
av_log(&file_log_ctx, AV_LOG_ERROR, "Error occurred in CreateFileMapping()\n");
+ *size = 0;
close(fd);
return -1;
}
@@ -106,6 +108,7 @@ int av_file_map(const char *filename, uint8_t **bufptr, size_t *size,
CloseHandle(mh);
if (!ptr) {
av_log(&file_log_ctx, AV_LOG_ERROR, "Error occurred in MapViewOfFile()\n");
+ *size = 0;
close(fd);
return -1;
}
@@ -116,6 +119,7 @@ int av_file_map(const char *filename, uint8_t **bufptr, size_t *size,
*bufptr = av_malloc(*size);
if (!*bufptr) {
av_log(&file_log_ctx, AV_LOG_ERROR, "Memory allocation error occurred\n");
+ *size = 0;
close(fd);
return AVERROR(ENOMEM);
}