diff options
author | Michael Heimpold <mhei@heimpold.de> | 2018-01-25 21:08:48 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-25 21:08:48 +0100 |
commit | 74eecfebcc3acabd9f5a68b3d0291289ef28c3c8 (patch) | |
tree | 2bfb250b3b5e3efb16316e8644a1b528e6d8a671 | |
parent | 5dd0a570e6941a0dcc51aafed767141276851956 (diff) | |
parent | 6230ab4437aa5e5436f50c9f0a83f5722ae14157 (diff) |
Merge pull request #5501 from pprindeville/issue/5488
php7: fix issue 5488
-rw-r--r-- | lang/php7/Makefile | 2 | ||||
-rw-r--r-- | lang/php7/patches/1012-php_iconv_string-null-out-pointer | 42 |
2 files changed, 43 insertions, 1 deletions
diff --git a/lang/php7/Makefile b/lang/php7/Makefile index 48d98891f..f1f781fe4 100644 --- a/lang/php7/Makefile +++ b/lang/php7/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=php PKG_VERSION:=7.2.1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de> diff --git a/lang/php7/patches/1012-php_iconv_string-null-out-pointer b/lang/php7/patches/1012-php_iconv_string-null-out-pointer new file mode 100644 index 000000000..5f71b7d70 --- /dev/null +++ b/lang/php7/patches/1012-php_iconv_string-null-out-pointer @@ -0,0 +1,42 @@ +commit 8b6882d95dfe9096a22052bbff0c134b10932d20 +Author: Philip Prindeville <philipp@redfish-solutions.com> +Date: Wed Jan 24 18:47:19 2018 -0700 + + Be consistent in clearing out in php_iconv_string() + + Also, don't bother checking returned point in error case since it + will always be NULL (and not require free()ing, obviously). + +diff --git a/ext/iconv/iconv.c b/ext/iconv/iconv.c +index 35dafd4..bc7f3aa 100644 +--- a/ext/iconv/iconv.c ++++ b/ext/iconv/iconv.c +@@ -559,6 +559,8 @@ PHP_ICONV_API php_iconv_err_t php_iconv_string(const char *in_p, size_t in_len, + size_t result; + zend_string *ret, *out_buffer; + ++ *out = NULL; ++ + /* + This is not the right way to get output size... + This is not space efficient for large text. +@@ -984,9 +986,6 @@ static php_iconv_err_t _php_iconv_strpos(size_t *pretval, + err = php_iconv_string(ndl, ndl_nbytes, &ndl_buf, GENERIC_SUPERSET_NAME, enc); + + if (err != PHP_ICONV_ERR_SUCCESS) { +- if (ndl_buf != NULL) { +- zend_string_free(ndl_buf); +- } + return err; + } + +@@ -2463,9 +2462,6 @@ PHP_NAMED_FUNCTION(php_if_iconv) + if (err == PHP_ICONV_ERR_SUCCESS && out_buffer != NULL) { + RETVAL_STR(out_buffer); + } else { +- if (out_buffer != NULL) { +- zend_string_free(out_buffer); +- } + RETURN_FALSE; + } + } |