From bf6fae7df9f04cababc780f84c0973fa6b5d3f48 Mon Sep 17 00:00:00 2001 From: Nils Tonnaett Date: Sun, 12 Apr 2026 17:52:37 -0700 Subject: [PATCH] module-avb: fail if ptp.management-socket not set --- src/modules/module-avb/avdecc.c | 2 ++ src/modules/module-avb/gptp.c | 10 +++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/modules/module-avb/avdecc.c b/src/modules/module-avb/avdecc.c index dae9dbed7..f4cd77813 100644 --- a/src/modules/module-avb/avdecc.c +++ b/src/modules/module-avb/avdecc.c @@ -407,6 +407,8 @@ struct server *avdecc_server_new(struct impl *impl, struct spa_dict *props) goto error_free; server->gptp = avb_gptp_new(server); + if (server->gptp == NULL) + goto error_free; init_descriptors(server); diff --git a/src/modules/module-avb/gptp.c b/src/modules/module-avb/gptp.c index bb19bb819..c9f1aaac5 100644 --- a/src/modules/module-avb/gptp.c +++ b/src/modules/module-avb/gptp.c @@ -262,8 +262,12 @@ struct avb_gptp *avb_gptp_new(struct server *server) str = pw_properties_get(impl->props, "ptp.management-socket"); gptp->ptp_mgmt_socket_path = str ? strdup(str) : NULL; - if(gptp->ptp_mgmt_socket_path) + if(gptp->ptp_mgmt_socket_path) { gptp->ptp_fd = make_unix_ptp_mgmt_socket(gptp->ptp_mgmt_socket_path); + } else { + pw_log_error("server %p: ptp.management-socket not set", impl); + goto error_free; + } spa_list_init(&gptp->attributes); spa_hook_list_init(&gptp->listener_list); @@ -271,5 +275,9 @@ struct avb_gptp *avb_gptp_new(struct server *server) avdecc_server_add_listener(server, &gptp->server_listener, &server_events, gptp); return (struct avb_gptp*)gptp; + +error_free: + gptp_destroy(gptp); + return NULL; }