Zebediah Figura : winegstreamer: Avoid passing a NULL buffer to wg_parser_push_data() in the case of a zero-length read.
Alexandre Julliard
julliard at winehq.org
Wed Oct 6 15:51:39 CDT 2021
Module: wine
Branch: master
Commit: 585acfa04188f85fb9138e57d56dd44b870dca41
URL: https://source.winehq.org/git/wine.git/?a=commit;h=585acfa04188f85fb9138e57d56dd44b870dca41
Author: Zebediah Figura <zfigura at codeweavers.com>
Date: Wed Oct 6 11:46:34 2021 -0500
winegstreamer: Avoid passing a NULL buffer to wg_parser_push_data() in the case of a zero-length read.
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/winegstreamer/media_source.c | 7 +++++--
dlls/winegstreamer/quartz_parser.c | 5 ++++-
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c
index 703bdd7c57d..dab85e4689d 100644
--- a/dlls/winegstreamer/media_source.c
+++ b/dlls/winegstreamer/media_source.c
@@ -613,9 +613,12 @@ static DWORD CALLBACK read_thread(void *arg)
{
struct media_source *source = arg;
IMFByteStream *byte_stream = source->byte_stream;
- size_t buffer_size = 0;
+ size_t buffer_size = 4096;
uint64_t file_size;
- void *data = NULL;
+ void *data;
+
+ if (!(data = malloc(buffer_size)))
+ return 0;
IMFByteStream_GetLength(byte_stream, &file_size);
diff --git a/dlls/winegstreamer/quartz_parser.c b/dlls/winegstreamer/quartz_parser.c
index b6655d5da3c..6d79d2ef129 100644
--- a/dlls/winegstreamer/quartz_parser.c
+++ b/dlls/winegstreamer/quartz_parser.c
@@ -786,9 +786,12 @@ static DWORD CALLBACK read_thread(void *arg)
{
struct parser *filter = arg;
LONGLONG file_size, unused;
- size_t buffer_size = 0;
+ size_t buffer_size = 4096;
void *data = NULL;
+ if (!(data = malloc(buffer_size)))
+ return 0;
+
IAsyncReader_Length(filter->reader, &file_size, &unused);
TRACE("Starting read thread for filter %p.\n", filter);
More information about the wine-cvs
mailing list