mirror of
https://gitlab.freedesktop.org/pipewire/wireplumber.git
synced 2026-05-06 11:48:02 +02:00
linking-utils: raise canLinkGroupCheck recursion limit to 32 hops
The canLinkGroupCheck() function had a hard-coded limit of 8 hops when traversing the link-group graph to determine whether two nodes are eligible to link. Replace the magic number with a named constant MAX_LINK_GROUP_HOPS. Also change the equality check == to a >=. Add a Log.warning() when the limit is hit.
This commit is contained in:
parent
355bb0fb8f
commit
8dbc966132
1 changed files with 8 additions and 1 deletions
|
|
@ -245,6 +245,9 @@ function lutils.getNodePeerId (node_id)
|
|||
return nil
|
||||
end
|
||||
|
||||
-- Maximum recursion depth for link-group compatibility checks.
|
||||
local MAX_LINK_GROUP_HOPS = 32
|
||||
|
||||
function lutils.canLink (properties, si_target)
|
||||
local target_props = si_target.properties
|
||||
|
||||
|
|
@ -272,7 +275,11 @@ function lutils.canLink (properties, si_target)
|
|||
local target_props = si_target.properties
|
||||
local target_link_group = target_props ["node.link-group"]
|
||||
|
||||
if hops == 8 then
|
||||
if hops >= MAX_LINK_GROUP_HOPS then
|
||||
Log.warning (string.format (
|
||||
"link-group hop count exceeded the %d-hop limit (at %d) while checking '%s' against target '%s'",
|
||||
MAX_LINK_GROUP_HOPS, hops, tostring (link_group),
|
||||
tostring (target_props ["node.name"])))
|
||||
return false
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue