Skip to content

Commit 44dcbf0

Browse files
committed
Fix from review
1 parent 72e3af9 commit 44dcbf0

3 files changed

Lines changed: 14 additions & 2 deletions

File tree

src/ssl.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19568,6 +19568,8 @@ int wolfSSL_RAND_write_file(const char* fname)
1956819568
defined(HAVE_SYS_UN_H)
1956919569
#define WOLFSSL_EGD_NBLOCK 0x01
1957019570
#include <sys/un.h>
19571+
#include <errno.h>
19572+
#include <fcntl.h>
1957119573
#ifndef SOCK_CLOEXEC
1957219574
#define SOCK_CLOEXEC 0
1957319575
#endif

src/wolfio.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1598,7 +1598,7 @@ int wolfIO_TcpBind(SOCKET_T* sockfd, word16 port)
15981598
sin->sin6_addr = in6addr_any;
15991599
sin->sin6_port = XHTONS(port);
16001600
*sockfd = (SOCKET_T)socket(AF_INET6, SOCK_STREAM | SOCK_CLOEXEC, 0);
1601-
#if defined(FD_CLOEXEC)
1601+
#if !defined(USE_WINDOWS_API) && defined(FD_CLOEXEC)
16021602
if (*sockfd <= SOCKET_INVALID && errno == EINVAL) {
16031603
*sockfd = (SOCKET_T)socket(AF_INET6, SOCK_STREAM, 0);
16041604
if (*sockfd > SOCKET_INVALID) {
@@ -1613,7 +1613,7 @@ int wolfIO_TcpBind(SOCKET_T* sockfd, word16 port)
16131613
sin->sin_addr.s_addr = INADDR_ANY;
16141614
sin->sin_port = XHTONS(port);
16151615
*sockfd = (SOCKET_T)socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0);
1616-
#if defined(FD_CLOEXEC)
1616+
#if !defined(USE_WINDOWS_API) && defined(FD_CLOEXEC)
16171617
if (*sockfd <= SOCKET_INVALID && errno == EINVAL) {
16181618
*sockfd = (SOCKET_T)socket(AF_INET, SOCK_STREAM, 0);
16191619
if (*sockfd > SOCKET_INVALID) {

wolfcrypt/src/port/caam/wolfcaam_qnx.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,16 @@ int wc_CAAMInitInterface()
5353
}
5454

5555
caamFd = open("/dev/wolfCrypt", O_RDWR | O_CLOEXEC);
56+
#ifdef FD_CLOEXEC
57+
if (caamFd < 0 && errno == EINVAL) {
58+
caamFd = open("/dev/wolfCrypt", O_RDWR);
59+
if (caamFd >= 0) {
60+
int fdFlags = fcntl(caamFd, F_GETFD);
61+
if (fdFlags >= 0)
62+
(void)fcntl(caamFd, F_SETFD, fdFlags | FD_CLOEXEC);
63+
}
64+
}
65+
#endif
5666
if (caamFd < 0) {
5767
WOLFSSL_MSG("Could not open /dev/wolfCrypt");
5868
return -1;

0 commit comments

Comments
 (0)