[openssh-commits] [openssh] 01/01: Check if snprintf understands %zu.

git+noreply at mindrot.org git+noreply at mindrot.org
Fri Oct 12 16:57:25 AEDT 2018


This is an automated email from the git hooks/post-receive script.

dtucker pushed a commit to branch master
in repository openssh.

commit e526127cbd2f8ad88fb41229df0c9b850c722830
Author: Darren Tucker <dtucker at dtucker.net>
Date:   Fri Oct 12 16:43:35 2018 +1100

    Check if snprintf understands %zu.
    
    If the platforms snprintf and friends don't understand %zu, use the
    compat replacement.  Prevents segfaults on those platforms.
---
 configure.ac | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/configure.ac b/configure.ac
index c0e120fe..9dacccb2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2110,6 +2110,29 @@ if test "x$ac_cv_func_snprintf" = "xyes" ; then
 	)
 fi
 
+if test "x$ac_cv_func_snprintf" = "xyes" ; then
+	AC_MSG_CHECKING([whether snprintf understands %zu])
+	AC_RUN_IFELSE(
+		[AC_LANG_PROGRAM([[
+#include <sys/types.h>
+#include <stdio.h>
+		]],
+		[[
+	size_t a = 1, b = 2;
+	char z[128];
+	snprintf(z, sizeof z, "%zu%zu", a, b);
+	exit(strcmp(z, "12"));
+		]])],
+		[AC_MSG_RESULT([yes])],
+		[
+			AC_MSG_RESULT([no])
+			AC_DEFINE([BROKEN_SNPRINTF], [1],
+				[snprintf does not understand %zu])
+		],
+		[ AC_MSG_WARN([cross compiling: Assuming working snprintf()]) ]
+	)
+fi
+
 # We depend on vsnprintf returning the right thing on overflow: the
 # number of characters it tried to create (as per SUSv3)
 if test "x$ac_cv_func_vsnprintf" = "xyes" ; then

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list