Attention is currently required from: cron2, flichtenheld, plaisthos.
Hello cron2, plaisthos,
I'd like you to reexamine a change. Please visit
http://gerrit.openvpn.net/c/openvpn/+/1470?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Code-Review-1 by cron2
Change subject: port-share: Check return value of fork()
......................................................................
port-share: Check return value of fork()
While here, do some small C11 code cleanup.
Reported-By: Joshua Rogers <[email protected]>
Found-By: ZeroPath (https://zeropath.com)
Github: openvpn-private-issues#12
Change-Id: I5eac1b31ae40eb957e2c12ca6c37b491fef32847
Signed-off-by: Frank Lichtenheld <[email protected]>
---
M src/openvpn/ps.c
1 file changed, 12 insertions(+), 12 deletions(-)
git pull ssh://gerrit.openvpn.net:29418/openvpn refs/changes/70/1470/2
diff --git a/src/openvpn/ps.c b/src/openvpn/ps.c
index ed2d5c9f..e4c5794 100644
--- a/src/openvpn/ps.c
+++ b/src/openvpn/ps.c
@@ -800,12 +800,9 @@
port_share_open(const char *host, const char *port, const int max_initial_buf,
const char *journal_dir)
{
- pid_t pid;
socket_descriptor_t fd[2];
struct openvpn_sockaddr hostaddr;
struct port_share *ps;
- int status;
- struct addrinfo *ai;
ALLOC_OBJ_CLEAR(ps, struct port_share);
ps->foreground_fd = -1;
@@ -814,9 +811,9 @@
/*
* Get host's IP address
*/
-
- status =
- openvpn_getaddrinfo(GETADDR_RESOLVE | GETADDR_FATAL, host, port, 0,
NULL, AF_UNSPEC, &ai);
+ struct addrinfo *ai;
+ int status = openvpn_getaddrinfo(GETADDR_RESOLVE | GETADDR_FATAL, host,
port,
+ 0, NULL, AF_UNSPEC, &ai);
ASSERT(status == 0);
ASSERT(sizeof(hostaddr.addr) >= ai->ai_addrlen);
memcpy(&hostaddr.addr.sa, ai->ai_addr, ai->ai_addrlen);
@@ -836,19 +833,22 @@
*/
if (socketpair(PF_UNIX, SOCK_DGRAM, 0, fd) == -1)
{
- msg(M_WARN, "PORT SHARE: socketpair call failed");
+ msg(M_WARN | M_ERRNO, "PORT SHARE: socketpair call failed");
goto error;
}
/*
* Fork off background proxy process.
*/
- pid = fork();
+ pid_t pid = fork();
- if (pid)
+ if (pid < 0)
{
- int status;
-
+ msg(M_WARN | M_ERRNO, "PORT SHARE: fork failed");
+ goto error;
+ }
+ else if (pid)
+ {
/*
* Foreground Process
*/
@@ -862,7 +862,7 @@
set_cloexec(fd[0]);
/* wait for background child process to initialize */
- status = recv_control(fd[0]);
+ int status = recv_control(fd[0]);
if (status == RESPONSE_INIT_SUCCEEDED)
{
/* note that this will cause possible EAGAIN when writing to
--
To view, visit http://gerrit.openvpn.net/c/openvpn/+/1470?usp=email
To unsubscribe, or for help writing mail filters, visit
http://gerrit.openvpn.net/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: openvpn
Gerrit-Branch: master
Gerrit-Change-Id: I5eac1b31ae40eb957e2c12ca6c37b491fef32847
Gerrit-Change-Number: 1470
Gerrit-PatchSet: 2
Gerrit-Owner: flichtenheld <[email protected]>
Gerrit-Reviewer: cron2 <[email protected]>
Gerrit-Reviewer: plaisthos <[email protected]>
Gerrit-CC: openvpn-devel <[email protected]>
Gerrit-Attention: plaisthos <[email protected]>
Gerrit-Attention: cron2 <[email protected]>
Gerrit-Attention: flichtenheld <[email protected]>
_______________________________________________
Openvpn-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openvpn-devel