From 76a87f62eb34db9e95d6079a389e496a6d55078e Mon Sep 17 00:00:00 2001 From: Jim Wilcoxson Date: Sun, 12 Apr 2020 22:42:09 -0400 Subject: [PATCH] devpnc.h: check fd before FD_SET If there is no socket connection, fd will be -1. On Ubuntu 18.04, gcc doesn't like adding -1 with FD_SET, and gives a buffer overflow abort. --- devpnc.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/devpnc.h b/devpnc.h index 1028f62..db3afc5 100644 --- a/devpnc.h +++ b/devpnc.h @@ -757,7 +757,8 @@ void pncrecv() { for (nodeid=0; nodeid<=MAXNODEID; nodeid++) if (ni[nodeid].cstate == PNCCSAUTH) { fd = ni[nodeid].fd; - FD_SET(fd, &fds); + if (fd != -1) + FD_SET(fd, &fds); if (fd > n) n = fd; }