[openssl-dev] Fixing some warnings when compiling on non-posix systems.
Juan Manuel Guerrero
juan.guerrero at gmx.de
Sun Jun 4 00:35:54 UTC 2017
I do not know if someone really cares about this, but I have compiled
openssl-1.0.2-stable-SNAP-20170602 using the DJGPP port of gcc-7.1.0.
The code has been configured using --strict-warnings option. At least
the following issues have appeared. Using the DJGPP port of gcc means
that the code is configured and compiled on a non-posix system thus
macros like OPENSSL_SYS_LINUX and FIONBIO are undefined rising warnings
like the fixed ones. The patch is only intended to show the issue and
how it could be fixed.
Regards,
Juan M. Guerrero
* crypto/bio/bss_dgram.c (long dgram_ctrl): warning: variable 'sockopt_val' set but not used [-Wunused-but-set-variable]
* crypto/bio/b_sock.c (BIO_socket_nbio): warning: variable 'l' set but not used [-Wunused-but-set-variable]
diff -aprNU5 openssl-1.0.2-stable-SNAP-20170602.orig/crypto/bio/bss_dgram.c openssl-1.0.2-stable-SNAP-20170602/crypto/bio/bss_dgram.c
--- openssl-1.0.2-stable-SNAP-20170602.orig/crypto/bio/bss_dgram.c 2017-06-03 21:36:52 +0000
+++ openssl-1.0.2-stable-SNAP-20170602/crypto/bio/bss_dgram.c 2017-06-03 21:45:22 +0000
@@ -492,12 +492,12 @@ static long dgram_ctrl(BIO *b, int cmd,
{
long ret = 1;
int *ip;
struct sockaddr *to = NULL;
bio_dgram_data *data = NULL;
- int sockopt_val = 0;
# if defined(OPENSSL_SYS_LINUX) && (defined(IP_MTU_DISCOVER) || defined(IP_MTU))
+ int sockopt_val = 0;
socklen_t sockopt_len; /* assume that system supporting IP_MTU is
* modern enough to define socklen_t */
socklen_t addr_len;
union {
struct sockaddr sa;
diff -aprNU5 openssl-1.0.2-stable-SNAP-20170602.orig/crypto/bio/b_sock.c openssl-1.0.2-stable-SNAP-20170602/crypto/bio/b_sock.c
--- openssl-1.0.2-stable-SNAP-20170602.orig/crypto/bio/b_sock.c 2017-06-01 20:51:32 +0000
+++ openssl-1.0.2-stable-SNAP-20170602/crypto/bio/b_sock.c 2017-06-03 21:42:30 +0000
@@ -949,14 +949,14 @@ int BIO_set_tcp_ndelay(int s, int on)
}
int BIO_socket_nbio(int s, int mode)
{
int ret = -1;
+# ifdef FIONBIO
int l;
l = mode;
-# ifdef FIONBIO
ret = BIO_socket_ioctl(s, FIONBIO, &l);
# endif
return (ret == 0);
}
#endif
More information about the openssl-dev
mailing list