From 92deed973206ce2ffeea843e0584151476365012 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= Date: Mon, 9 Dec 2024 20:20:02 +0100 Subject: [PATCH] avutil/file: fix av_file_map file mapping on Windows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This makes the behavior of av_file_map() the same on Windows as it is on other platforms. The file is opened as read-only, but the mapping is copy-on-write, allowing the user to write to the memory pages returned by av_file_map(). This commit fixes libavutil\tests\file.c test, which would crash when trying to write to a read-only memory page. Signed-off-by: Kacper Michajłow Signed-off-by: Anton Khirnov --- libavutil/file.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavutil/file.c b/libavutil/file.c index db8507286b..4ef940a6c3 100644 --- a/libavutil/file.c +++ b/libavutil/file.c @@ -112,7 +112,7 @@ int av_file_map(const char *filename, uint8_t **bufptr, size_t *size, return -1; } - ptr = MapViewOfFile(mh, FILE_MAP_READ, 0, 0, *size); + ptr = MapViewOfFile(mh, FILE_MAP_COPY, 0, 0, *size); CloseHandle(mh); if (!ptr) { av_log(&file_log_ctx, AV_LOG_ERROR, "Error occurred in MapViewOfFile()\n");