From: David Mitchell Date: Wed, 12 Dec 2012 10:34:29 +0000 (+0000) Subject: perl.h: fix signedness warning with clang X-Git-Tag: v5.17.7~95 X-Git-Url: https://perl5.git.perl.org/perl5.git/commitdiff_plain/9e440eccb3896f01c2e619c212ed4ed156d9d910 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. --- 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__)