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 <ciara.po...@intel.com> --- 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.22.0