Nikolay Sivov : mf/topology: Improve error handling when connecting sample copier node (Coverity).

Alexandre Julliard julliard at winehq.org
Tue Feb 2 15:52:09 CST 2021


Module: wine
Branch: master
Commit: d24ce1374caf586bec4b8e601afa84a3f4425d7f
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=d24ce1374caf586bec4b8e601afa84a3f4425d7f

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Tue Feb  2 19:56:17 2021 +0300

mf/topology: Improve error handling when connecting sample copier node (Coverity).

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mf/topology.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/dlls/mf/topology.c b/dlls/mf/topology.c
index af28de0819d..58639a67bdb 100644
--- a/dlls/mf/topology.c
+++ b/dlls/mf/topology.c
@@ -2450,9 +2450,10 @@ static HRESULT topology_loader_connect_d3d_aware_input(struct topoloader_context
     unsigned int upstream_output;
     IMFStreamSink *stream_sink;
     IMFTransform *copier = NULL;
-    HRESULT hr = S_OK;
+    HRESULT hr;
 
-    topology_node_get_object(node, &IID_IMFStreamSink, (void **)&stream_sink);
+    if (FAILED(hr = topology_node_get_object(node, &IID_IMFStreamSink, (void **)&stream_sink)))
+        return hr;
 
     if (topology_loader_is_node_d3d_aware(node))
     {
@@ -2480,6 +2481,7 @@ static void topology_loader_resolve_complete(struct topoloader_context *context)
     MF_TOPOLOGY_TYPE node_type;
     IMFTopologyNode *node;
     WORD i, node_count;
+    HRESULT hr;
 
     IMFTopology_GetNodeCount(context->output_topology, &node_count);
 
@@ -2495,7 +2497,8 @@ static void topology_loader_resolve_complete(struct topoloader_context *context)
                 if (FAILED(IMFTopologyNode_GetItem(node, &MF_TOPONODE_STREAMID, NULL)))
                     IMFTopologyNode_SetUINT32(node, &MF_TOPONODE_STREAMID, 0);
 
-                topology_loader_connect_d3d_aware_input(context, node);
+                if (FAILED(hr = topology_loader_connect_d3d_aware_input(context, node)))
+                    WARN("Failed to connect D3D-aware input, hr %#x.\n", hr);
             }
             else if (node_type == MF_TOPOLOGY_SOURCESTREAM_NODE)
             {




More information about the wine-cvs mailing list