Nikolay Sivov : mfreadwrite/reader: Add missing allocation check (Coverity).
Alexandre Julliard
julliard at winehq.org
Mon Apr 12 16:11:26 CDT 2021
Module: wine
Branch: master
Commit: 129e5660e3588f4ccfd919870fb71497b61d3a0c
URL: https://source.winehq.org/git/wine.git/?a=commit;h=129e5660e3588f4ccfd919870fb71497b61d3a0c
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Mon Apr 12 17:40:02 2021 +0300
mfreadwrite/reader: Add missing allocation check (Coverity).
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mfreadwrite/reader.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/dlls/mfreadwrite/reader.c b/dlls/mfreadwrite/reader.c
index 2edc83b8685..8b3230ad4d2 100644
--- a/dlls/mfreadwrite/reader.c
+++ b/dlls/mfreadwrite/reader.c
@@ -442,12 +442,14 @@ static void source_reader_set_sa_response(struct source_reader *reader, struct s
}
}
-static void source_reader_queue_response(struct source_reader *reader, struct media_stream *stream, HRESULT status,
+static HRESULT source_reader_queue_response(struct source_reader *reader, struct media_stream *stream, HRESULT status,
DWORD stream_flags, LONGLONG timestamp, IMFSample *sample)
{
struct stream_response *response;
- response = calloc(1, sizeof(*response));
+ if (!(response = calloc(1, sizeof(*response))))
+ return E_OUTOFMEMORY;
+
response->status = status;
response->stream_index = stream->index;
response->stream_flags = stream_flags;
@@ -466,6 +468,8 @@ static void source_reader_queue_response(struct source_reader *reader, struct me
stream->responses++;
source_reader_response_ready(reader, response);
+
+ return S_OK;
}
static HRESULT source_reader_request_sample(struct source_reader *reader, struct media_stream *stream)
@@ -716,8 +720,7 @@ static HRESULT source_reader_process_sample(struct source_reader *reader, struct
if (FAILED(IMFSample_GetSampleTime(sample, ×tamp)))
WARN("Sample time wasn't set.\n");
- source_reader_queue_response(reader, stream, S_OK, 0, timestamp, sample);
- return S_OK;
+ return source_reader_queue_response(reader, stream, S_OK, 0, timestamp, sample);
}
/* It's assumed that decoder has 1 input and 1 output, both id's are 0. */
More information about the wine-cvs
mailing list