This patch fixes the unchecked return value. --- emulator/phy.c | 10 ++++++++-- emulator/server.c | 6 +++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/emulator/phy.c b/emulator/phy.c index 4517ad107..2ae6ad3a2 100644 --- a/emulator/phy.c +++ b/emulator/phy.c @@ -115,7 +115,10 @@ static int create_rx_socket(void) if (fd < 0) return -1; - setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)); + if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) < 0) { + close(fd); + return -1; + } memset(&addr, 0, sizeof(addr)); addr.sin_family = AF_INET; @@ -138,7 +141,10 @@ static int create_tx_socket(void) if (fd < 0) return -1; - setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &opt, sizeof(opt)); + if (setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &opt, sizeof(opt)) < 0) { + close(fd); + return -1; + } return fd; } diff --git a/emulator/server.c b/emulator/server.c index 3b07a7156..ceb417a40 100644 --- a/emulator/server.c +++ b/emulator/server.c @@ -322,7 +322,11 @@ static int open_tcp(void) return -1; } - setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)); + if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) < 0) { + perror("Failed to set socket option"); + close(fd); + return -1; + } memset(&addr, 0, sizeof(addr)); addr.sin_family = AF_INET; -- 2.25.4