[PATCH 0/2] MR4588: winegstreamer: Fix a memory leak (Coverity).
video_format can be leaked when encountering an invalid WMV format. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4588
From: Zhiyi Zhang <zzhang(a)codeweavers.com> video_format can be leaked when encountering an invalid WMV format. --- dlls/winegstreamer/quartz_parser.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dlls/winegstreamer/quartz_parser.c b/dlls/winegstreamer/quartz_parser.c index e402e1aab52..c41b0dca0f6 100644 --- a/dlls/winegstreamer/quartz_parser.c +++ b/dlls/winegstreamer/quartz_parser.c @@ -625,9 +625,6 @@ static bool amt_from_wg_format_video_wmv(AM_MEDIA_TYPE *mt, const struct wg_form uint32_t frame_time; const GUID *subtype; - if (!(video_format = CoTaskMemAlloc(sizeof(*video_format)))) - return false; - switch (format->u.video_wmv.format) { case WG_WMV_VIDEO_FORMAT_WMV1: @@ -650,6 +647,9 @@ static bool amt_from_wg_format_video_wmv(AM_MEDIA_TYPE *mt, const struct wg_form return false; } + if (!(video_format = CoTaskMemAlloc(sizeof(*video_format)))) + return false; + mt->majortype = MEDIATYPE_Video; mt->subtype = *subtype; mt->bFixedSizeSamples = FALSE; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/4588
From: Zhiyi Zhang <zzhang(a)codeweavers.com> wg_transform_get_status() returns bool, not HRESULT. --- dlls/winegstreamer/aac_decoder.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/dlls/winegstreamer/aac_decoder.c b/dlls/winegstreamer/aac_decoder.c index 3eb96d0106a..dfab7a8b0c0 100644 --- a/dlls/winegstreamer/aac_decoder.c +++ b/dlls/winegstreamer/aac_decoder.c @@ -535,15 +535,14 @@ static HRESULT WINAPI transform_GetInputStatus(IMFTransform *iface, DWORD id, DW { struct aac_decoder *decoder = impl_from_IMFTransform(iface); bool accepts_input; - HRESULT hr; TRACE("iface %p, id %#lx, flags %p.\n", iface, id, flags); if (!decoder->wg_transform) return MF_E_TRANSFORM_TYPE_NOT_SET; - if (FAILED(hr = wg_transform_get_status(decoder->wg_transform, &accepts_input))) - return hr; + if (!wg_transform_get_status(decoder->wg_transform, &accepts_input)) + return E_FAIL; *flags = accepts_input ? MFT_INPUT_STATUS_ACCEPT_DATA : 0; return S_OK; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/4588
This merge request was approved by Rémi Bernon. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4588
This merge request was approved by Zebediah Figura. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4588
participants (4)
-
Rémi Bernon -
Zebediah Figura (@zfigura) -
Zhiyi Zhang -
Zhiyi Zhang (@zhiyi)