summaryrefslogtreecommitdiffstats
path: root/tcpd
diff options
context:
space:
mode:
authorSam Varshavchik2021-05-21 21:11:51 -0400
committerSam Varshavchik2021-05-21 21:11:51 -0400
commit142f42378608e593eb36ceb33895db99948427aa (patch)
treefc089285268a8fe3c8768cd7482fb50393f49354 /tcpd
parent34b6dbb743654fdb6edccf101c4da7e671b7a92d (diff)
downloadcourier-libs-142f42378608e593eb36ceb33895db99948427aa.tar.bz2
-Wall and -Werror fixes
Diffstat (limited to 'tcpd')
-rw-r--r--tcpd/configure.ac6
-rw-r--r--tcpd/tcpd.c8
2 files changed, 10 insertions, 4 deletions
diff --git a/tcpd/configure.ac b/tcpd/configure.ac
index 3bc0e64..656c82c 100644
--- a/tcpd/configure.ac
+++ b/tcpd/configure.ac
@@ -568,11 +568,13 @@ RAND_bytes(dummy, 1);
AC_TRY_COMPILE( [
#include <openssl/ssl.h>
+
+SSL *p;
],
[
-SSL_get_servername((SSL *)0, TLSEXT_NAMETYPE_host_name);
+(void)SSL_get_servername(p, TLSEXT_NAMETYPE_host_name);
], [
- AC_DEFINE_UNQUOTED(HAVE_OPENSSL_SNI,1,[ When OpenSSL supports SNI ])
+ AC_DEFINE_UNQUOTED(HAVE_OPENSSL_SNI,1,[ Whether OpenSSL supports SNI ])
])
TLSLIBRARY="$LIBCOURIERTLSOPENSSL"
diff --git a/tcpd/tcpd.c b/tcpd/tcpd.c
index 0fd0398..7cd3afa 100644
--- a/tcpd/tcpd.c
+++ b/tcpd/tcpd.c
@@ -1605,9 +1605,13 @@ static void docheckblocklist(struct blocklist_s *p, const char *nameptr)
int found;
unsigned char query_A[] = {RFC1035_TYPE_A, 0},
query_A_and_TXT[] = {RFC1035_TYPE_A, RFC1035_TYPE_TXT, 0};
+ size_t l=strlen(nameptr);
- hostname[0]=0;
- strncat(hostname, nameptr, RFC1035_MAXNAMESIZE);
+ if (l > RFC1035_MAXNAMESIZE)
+ l=RFC1035_MAXNAMESIZE;
+
+ memcpy(hostname, nameptr, l);
+ hostname[l]=0;
if (!varname) varname="BLOCK";