summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2016-08-29 19:27:47 +0200
committerAnatol Belski <ab@php.net>2016-08-29 19:27:47 +0200
commit1a840b9af0117f6ac4c2030dc0f8c562a0f453ba (patch)
tree0108bfce258221c943baa32282f8e6bcc65cb7b2
parente2609a38d9604d9daea5e4a31a6fb13d1cc24ab5 (diff)
downloadphp-git-1a840b9af0117f6ac4c2030dc0f8c562a0f453ba.tar.gz
fix double free
-rw-r--r--ext/intl/msgformat/msgformat_format.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/ext/intl/msgformat/msgformat_format.c b/ext/intl/msgformat/msgformat_format.c
index 55ec9e84ba..25c9619133 100644
--- a/ext/intl/msgformat/msgformat_format.c
+++ b/ext/intl/msgformat/msgformat_format.c
@@ -51,11 +51,10 @@ static void msgfmt_do_format(MessageFormatter_object *mfo, zval *args, zval *ret
zend_hash_destroy(args_copy);
efree(args_copy);
- if (formatted && U_FAILURE(INTL_DATA_ERROR_CODE(mfo))) {
- efree(formatted);
- }
-
if (U_FAILURE(INTL_DATA_ERROR_CODE(mfo))) {
+ if (formatted) {
+ efree(formatted);
+ }
RETURN_FALSE;
} else {
INTL_METHOD_RETVAL_UTF8(mfo, formatted, formatted_len, 1);