|
@ -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; |
|
|
|
|
|
} |
|
|
|
|
|
} |