From 42dd5945dde307320359a494f91f7044638d5852 Mon Sep 17 00:00:00 2001 From: "andrey.bychkov" Date: Wed, 5 Aug 2026 12:46:43 +0300 Subject: [PATCH] review fixes --- libs/console/piterminal.cpp | 2 +- libs/main/core/piwaitevent_p.cpp | 3 ++- libs/main/io_devices/piethernet.cpp | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/libs/console/piterminal.cpp b/libs/console/piterminal.cpp index 768e37ae..aeaffd9a 100644 --- a/libs/console/piterminal.cpp +++ b/libs/console/piterminal.cpp @@ -880,7 +880,7 @@ bool PITerminal::initialize() { execvp(argv[0], argv); delete[] argv[0]; delete[] argv; - exit(127); + exit(errno); } else { if (fr < 0 || PRIVATE->fd < 0) { piCoutObj << "forkpty error," << errorString(); diff --git a/libs/main/core/piwaitevent_p.cpp b/libs/main/core/piwaitevent_p.cpp index 3dff58bc..2e07f073 100644 --- a/libs/main/core/piwaitevent_p.cpp +++ b/libs/main/core/piwaitevent_p.cpp @@ -94,7 +94,8 @@ bool PIWaitEvent::wait(int fd, CheckRole role) { while (::read(pipe_fd[ReadEnd], &buf, sizeof(buf)) > 0) ; // piCout << "wait result" << sr << FD_ISSET(fd, &(fds[CheckExeption])) << FD_ISSET(fd, &(fds[fd_index])); - if (sr == EBADF || sr == EINTR) return false; + if (sr < 0) return false; + if (errno == EBADF || errno == EINTR) return false; if (FD_ISSET(fd, &(fds[CheckExeption]))) return true; return FD_ISSET(fd, &(fds[fd_index])); #endif diff --git a/libs/main/io_devices/piethernet.cpp b/libs/main/io_devices/piethernet.cpp index 024d3a03..a28da44f 100644 --- a/libs/main/io_devices/piethernet.cpp +++ b/libs/main/io_devices/piethernet.cpp @@ -104,6 +104,7 @@ PIString getSockAddr(sockaddr * s) { if (!s) return PIString(); char buf[INET_ADDRSTRLEN]; + memset(&buf, 0, INET_ADDRSTRLEN); const char * r = inet_ntop(AF_INET, &((sockaddr_in *)s)->sin_addr, buf, sizeof(buf)); return r ? PIStringAscii(r) : PIString(); }