File Added-check-for-failed-fork-system-call.patch of Package firebird
From: alexpeshkoff <alexpeshkoff@65644016-39b1-43b1-bf79-96bc8fe82c15>
Date: Mon, 1 Jun 2015 13:59:25 +0000
Subject: Added check for failed fork() system call
Patch-mainline: v2.5.5
Git-commit: f3516ad3248f3094d6d6cc80140a1c45fdefbce2
git-svn-id: svn+ssh://svn.code.sf.net/p/firebird/code/firebird/branches/B2_5_Release@61687 65644016-39b1-43b1-bf79-96bc8fe82c15
---
src/remote/inet.cpp | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/remote/inet.cpp b/src/remote/inet.cpp
index 040afdb251bb..22f9bdb3d1b5 100644
--- a/src/remote/inet.cpp
+++ b/src/remote/inet.cpp
@@ -1076,10 +1076,23 @@ rem_port* INET_connect(const TEXT* name,
}
return NULL;
}
+
#ifdef WIN_NT
if (flag & SRVR_debug)
#else
- if ((flag & SRVR_debug) || !fork())
+ int pid = 0;
+ if (!(flag & SRVR_debug))
+ {
+ pid = fork();
+ if (pid < 0)
+ {
+ inet_error(port, "fork", isc_net_connect_err, inetErrNo);
+ disconnect(port);
+ return NULL;
+ }
+ }
+
+ if (!pid)
#endif
{
SOCLOSE(port->port_handle);
--
2.4.6