diff options
| author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2026-07-29 21:15:48 +0200 |
|---|---|---|
| committer | Sander Vrijders <sander@ouroboros.rocks> | 2026-08-03 08:50:10 +0200 |
| commit | a575df3ed9915d55baad195bab434598b9c287b9 (patch) | |
| tree | 1b0148bc5ccd86230b504388b476d2950ad5ff0b | |
| parent | add9f4a99cc358749b276157d9957c527fef4fe7 (diff) | |
| download | ouroboros-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>
| -rw-r--r-- | src/ipcpd/common/connmgr.c | 5 |
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) { |
