summaryrefslogtreecommitdiff
path: root/src/ipcpd/common
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2026-07-29 21:15:48 +0200
committerSander Vrijders <sander@ouroboros.rocks>2026-08-03 08:50:10 +0200
commita575df3ed9915d55baad195bab434598b9c287b9 (patch)
tree1b0148bc5ccd86230b504388b476d2950ad5ff0b /src/ipcpd/common
parentadd9f4a99cc358749b276157d9957c527fef4fe7 (diff)
downloadouroboros-a575df3ed9915d55baad195bab434598b9c287b9.tar.gz
ouroboros-a575df3ed9915d55baad195bab434598b9c287b9.zip
ipcpd: Fix uninitialized qs in acceptor
The acceptor thread was accepting flows with an uninitialed qosspec, reading garbage. This could cause toggling frct on one end by accident. Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks> Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/ipcpd/common')
-rw-r--r--src/ipcpd/common/connmgr.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/ipcpd/common/connmgr.c b/src/ipcpd/common/connmgr.c
index 48ad79ba..6384a45c 100644
--- a/src/ipcpd/common/connmgr.c
+++ b/src/ipcpd/common/connmgr.c
@@ -30,6 +30,7 @@
#include <ouroboros/logs.h>
#include <ouroboros/notifier.h>
#include <ouroboros/pthread.h>
+#include <ouroboros/qos.h>
#include "connmgr.h"
#include "ipcp.h"
@@ -123,7 +124,6 @@ static int add_comp_conn(enum comp_id id,
static void * flow_acceptor(void * o)
{
int fd;
- qosspec_t qs;
struct conn_info rcv_info;
struct conn_info fail_info;
struct timespec timeo = TIMESPEC_INIT_MS(CONNMGR_RCV_TIMEOUT);
@@ -134,7 +134,8 @@ static void * flow_acceptor(void * o)
memset(&fail_info, 0, sizeof(fail_info));
while (true) {
- int id;
+ qosspec_t qs = qos_raw;
+ int id;
fd = flow_accept(&qs, NULL);
if (fd < 0) {