com php-src: Mitigation for ssize_t issue in 22a5 f554a8766d63fd2c2ce91a90ebacb1 3c0f6a: ext/mbstring/libmbfl/mbfl/mbfilter.c ext/
mbstring/libmbfl/mbfl/mbfilter.h ext/mbstring/mbstring.c ext/mbstring/mbstring.h

From: Date: Sat, 22 Jul 2017 20:34:16 +0000
Subject: com php-src: Mitigation for ssize_t issue in 22a5 f554a8766d63fd2c2ce91a90ebacb1 3c0f6a: ext/mbstring/libmbfl/mbfl/mbfilter.c ext/
mbstring/libmbfl/mbfl/mbfilter.h ext/mbstring/mbstring.c ext/mbstring/mbstring.h
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-98722@lists.php.net to get a copy of this message
Commit: e0825ec60fc4e4aa3f026c832c26be51b23b4f09 Author: Anatol Belski <ab@php.net> Sat, 22 Jul 2017 22:33:18 +0200 Parents: 934cfa35f8c3946b812739e4ed5afe0f456610eb Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=e0825ec60fc4e4aa3f026c832c26be51b23b4f09 Log: Mitigation for ssize_t issue in 22a5f554a8766d63fd2c2ce91a90ebacb13c0f6a and some more Changed paths: M ext/mbstring/libmbfl/mbfl/mbfilter.c M ext/mbstring/libmbfl/mbfl/mbfilter.h M ext/mbstring/mbstring.c M ext/mbstring/mbstring.h Diff: diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.c b/ext/mbstring/libmbfl/mbfl/mbfilter.c index d76c54e..a58acca 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.c @@ -823,7 +823,7 @@ size_t mbfl_strpos( mbfl_string *haystack, mbfl_string *needle, - long offset, + ssize_t offset, int reverse) { size_t result; diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.h b/ext/mbstring/libmbfl/mbfl/mbfilter.h index d376e7d..0a27d3a 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.h +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.h @@ -98,6 +98,15 @@ #include "mbfl_convert.h" #include "mbfl_ident.h" +/* Prefer local fix, otherwise need to include too much. */ +#ifndef ssize_t +#if defined(_WIN64) +#define ssize_t __int64 +#elif defined(_WIN32) +#define ssize_t __int32 +#endif +#endif + /* * version information */ @@ -191,7 +200,7 @@ mbfl_oddlen(mbfl_string *string); * strpos */ MBFLAPI extern size_t -mbfl_strpos(mbfl_string *haystack, mbfl_string *needle, long offset, int reverse); +mbfl_strpos(mbfl_string *haystack, mbfl_string *needle, ssize_t offset, int reverse); /* diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 17122dd..afc6870 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -2435,7 +2435,7 @@ PHP_FUNCTION(mb_strrpos) char *enc_name = NULL; size_t enc_name_len; zval *zoffset = NULL; - long offset = 0, str_flg, n; + zend_long offset = 0, str_flg, n; char *enc_name2 = NULL; int enc_name_len2; @@ -4811,7 +4811,7 @@ static inline mbfl_buffer_converter *php_mb_init_convd(const mbfl_encoding *enco static inline int php_mb_check_encoding_impl(mbfl_buffer_converter *convd, const char *input, size_t length, const mbfl_encoding *encoding) { mbfl_string string, result, *ret = NULL; - long illegalchars = 0; + size_t illegalchars = 0; /* initialize string */ mbfl_string_init_set(&string, mbfl_no_language_neutral, encoding); diff --git a/ext/mbstring/mbstring.h b/ext/mbstring/mbstring.h index 49a1434..7cbff02 100644 --- a/ext/mbstring/mbstring.h +++ b/ext/mbstring/mbstring.h @@ -186,7 +186,7 @@ ZEND_BEGIN_MODULE_GLOBALS(mbstring) long func_overload; zend_bool encoding_translation; long strict_detection; - long illegalchars; + size_t illegalchars; mbfl_buffer_converter *outconv; void *http_output_conv_mimetypes; #if HAVE_MBREGEX

« previous php.cvs (#98722) next »