From 8b4a23f1152f921fb2de35b3474d9a738cf14b54 Mon Sep 17 00:00:00 2001 From: Ciara Power Date: Tue, 13 Oct 2020 17:28:20 +0100 Subject: [PATCH] test/telemetry: fix error handling for socket When the socket connection failed, an error was printed to screen but the function did not return an error, and continued to try read from the socket. This is now corrected to close the socket and return -1 when the connection fails. Fixes: bd78cf693ebd ("test/telemetry: add unit tests for data to JSON") Signed-off-by: Ciara Power Acked-by: Bruce Richardson --- app/test/test_telemetry_data.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/test/test_telemetry_data.c b/app/test/test_telemetry_data.c index 7a31e68a78..00326867b6 100644 --- a/app/test/test_telemetry_data.c +++ b/app/test/test_telemetry_data.c @@ -319,9 +319,12 @@ connect_to_socket(void) "%s/dpdk_telemetry.%s", rte_eal_get_runtime_dir(), TELEMETRY_VERSION); if (connect(sock, (struct sockaddr *) &telem_addr, - sizeof(telem_addr)) < 0) + sizeof(telem_addr)) < 0) { printf("\n%s: Error connecting to socket: %s\n", __func__, strerror(errno)); + close(sock); + return -1; + } bytes = read(sock, buf, sizeof(buf) - 1); if (bytes < 0) { -- 2.20.1