From 82aed4b4ac33fce7a90b73e96d2833cd64f4c365 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Mon, 25 Nov 2024 15:40:49 +0100 Subject: [PATCH] aplay/mixer: sockadr cmp: check also IPv6 scope ID --- src/audio/playback/mixer.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/audio/playback/mixer.cpp b/src/audio/playback/mixer.cpp index 863a33b8d..ab5bb6a4f 100644 --- a/src/audio/playback/mixer.cpp +++ b/src/audio/playback/mixer.cpp @@ -56,7 +56,7 @@ #include "audio/audio_playback.h" #include "audio/codec.h" #include "audio/types.h" -#include "compat/net.h" // for sockaddr_in, sockaddr_in6, in6_addr +#include "compat/net.h" // for sockaddr_in, sockaddr_in6, in6_addr... #include "debug.h" #include "host.h" // for get_commandline_param, uv_argv #include "lib_common.h" @@ -115,6 +115,11 @@ public: } } + if (IN6_IS_ADDR_LINKLOCAL(&sin_x.sin6_addr) && + sin_x.sin6_scope_id != sin_y.sin6_scope_id) { + return sin_x.sin6_scope_id < sin_y.sin6_scope_id; + } + return sin_x.sin6_port < sin_y.sin6_port; } abort();