hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/media/v4l2-core/v4l2-fwnode.c
....@@ -572,19 +572,29 @@
572572 link->local_id = fwep.id;
573573 link->local_port = fwep.port;
574574 link->local_node = fwnode_graph_get_port_parent(fwnode);
575
+ if (!link->local_node)
576
+ return -ENOLINK;
575577
576578 fwnode = fwnode_graph_get_remote_endpoint(fwnode);
577
- if (!fwnode) {
578
- fwnode_handle_put(fwnode);
579
- return -ENOLINK;
580
- }
579
+ if (!fwnode)
580
+ goto err_put_local_node;
581581
582582 fwnode_graph_parse_endpoint(fwnode, &fwep);
583583 link->remote_id = fwep.id;
584584 link->remote_port = fwep.port;
585585 link->remote_node = fwnode_graph_get_port_parent(fwnode);
586
+ if (!link->remote_node)
587
+ goto err_put_remote_endpoint;
586588
587589 return 0;
590
+
591
+err_put_remote_endpoint:
592
+ fwnode_handle_put(fwnode);
593
+
594
+err_put_local_node:
595
+ fwnode_handle_put(link->local_node);
596
+
597
+ return -ENOLINK;
588598 }
589599 EXPORT_SYMBOL_GPL(v4l2_fwnode_parse_link);
590600