From 9e440eccb3896f01c2e619c212ed4ed156d9d910 Mon Sep 17 00:00:00 2001 From: David Mitchell Date: Wed, 12 Dec 2012 10:34:29 +0000 Subject: [PATCH] perl.h: fix signedness warning with clang 'len' arg to my_vsnprintf() is supposed to be Size_t; cast it that way before testing it. --- perl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/perl.h b/perl.h index d97a577..412848c 100644 --- a/perl.h +++ b/perl.h @@ -1709,7 +1709,7 @@ EXTERN_C char *crypt(const char *, const char *); #if defined(HAS_VSNPRINTF) && defined(HAS_C99_VARIADIC_MACROS) && !(defined(DEBUGGING) && !defined(PERL_USE_GCC_BRACE_GROUPS)) && !defined(PERL_GCC_PEDANTIC) # ifdef PERL_USE_GCC_BRACE_GROUPS -# define my_vsnprintf(buffer, len, ...) ({ int __len__ = vsnprintf(buffer, len, __VA_ARGS__); if ((len) > 0 && (Size_t)__len__ >= (len)) Perl_croak_nocontext("panic: vsnprintf buffer overflow"); __len__; }) +# define my_vsnprintf(buffer, len, ...) ({ int __len__ = vsnprintf(buffer, len, __VA_ARGS__); if ((len) > 0 && (Size_t)__len__ >= (Size_t)(len)) Perl_croak_nocontext("panic: vsnprintf buffer overflow"); __len__; }) # define PERL_MY_VSNPRINTF_GUARDED # else # define my_vsnprintf(buffer, len, ...) vsnprintf(buffer, len, __VA_ARGS__) -- 1.8.3.1