From 07533eb59023b1c07351c9496c210c0c0752ceea Mon Sep 17 00:00:00 2001 From: Nils Tonnaett Date: Fri, 16 Jan 2026 20:35:14 -0800 Subject: [PATCH] module-avb: check that PTP management response is complete --- src/modules/module-avb/gptp.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/modules/module-avb/gptp.c b/src/modules/module-avb/gptp.c index 1763bab4c..2c7141833 100644 --- a/src/modules/module-avb/gptp.c +++ b/src/modules/module-avb/gptp.c @@ -114,11 +114,17 @@ static bool update_ts_refclk(struct gptp *gptp) { } uint8_t buf[sizeof(struct ptp_management_msg) + sizeof(struct ptp_parent_data_set)]; - if (read(gptp->ptp_fd, &buf, sizeof(buf)) == -1) { + ssize_t ret = read(gptp->ptp_fd, &buf, sizeof(buf)); + if (ret == -1) { pw_log_warn("Failed to receive PTP management response: %m"); return false; } + if (ret != sizeof(buf)) { + pw_log_warn("Received incomplete PTP management response: %m"); + return false; + } + struct ptp_management_msg res = *(struct ptp_management_msg *)buf; struct ptp_parent_data_set parent = *(struct ptp_parent_data_set *)(buf + sizeof(struct ptp_management_msg));