-- v2: winegstreamer: In error case don't dereference null pointer (Coverity)
From: Fabian Maurer dark.shadow4@web.de
--- dlls/winegstreamer/wg_parser.c | 7 ++++--- dlls/winegstreamer/wg_transform.c | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/dlls/winegstreamer/wg_parser.c b/dlls/winegstreamer/wg_parser.c index 7193062e89b..9521522dda8 100644 --- a/dlls/winegstreamer/wg_parser.c +++ b/dlls/winegstreamer/wg_parser.c @@ -484,10 +484,11 @@ static NTSTATUS wg_parser_stream_notify_qos(void *args) GST_LOG("Ignoring QoS event."); return S_OK; } - if (!(event = gst_event_new_qos(params->underflow ? GST_QOS_TYPE_UNDERFLOW : GST_QOS_TYPE_OVERFLOW, - params->proportion, diff, stream_time))) + event = gst_event_new_qos(params->underflow ? GST_QOS_TYPE_UNDERFLOW : GST_QOS_TYPE_OVERFLOW, params->proportion, diff, stream_time); + if (event) + push_event(stream->my_sink, event); + else GST_ERROR("Failed to create QOS event."); - push_event(stream->my_sink, event);
return S_OK; } diff --git a/dlls/winegstreamer/wg_transform.c b/dlls/winegstreamer/wg_transform.c index ab5ce381fc5..536ef0af143 100644 --- a/dlls/winegstreamer/wg_transform.c +++ b/dlls/winegstreamer/wg_transform.c @@ -953,10 +953,11 @@ NTSTATUS wg_transform_notify_qos(void *args) GST_LOG("Ignoring QoS event."); return S_OK; } - if (!(event = gst_event_new_qos(params->underflow ? GST_QOS_TYPE_UNDERFLOW : GST_QOS_TYPE_OVERFLOW, - params->proportion, diff, stream_time))) + event = gst_event_new_qos(params->underflow ? GST_QOS_TYPE_UNDERFLOW : GST_QOS_TYPE_OVERFLOW, params->proportion, diff, stream_time); + if (event) + push_event(transform->my_sink, event); + else GST_ERROR("Failed to create QOS event."); - push_event(transform->my_sink, event);
return S_OK; }
On Sun Dec 10 19:38:16 2023 +0000, Zebediah Figura wrote:
If this really fails then it's only a symptom of some other problem.
Would you prefer for me to turn it into an assert? Then the intention is clear. To me just letting the program crash in another place seems like bad style.
Sitenote: I found the exact same behavior again, so edited that as well.