diff options
author | Anatol Belski <ab@php.net> | 2016-06-22 19:05:31 +0200 |
---|---|---|
committer | Anatol Belski <ab@php.net> | 2016-06-22 19:06:33 +0200 |
commit | e4539042516f337435c07a6e207eb5178e199d9a (patch) | |
tree | f017c93fdbd88237ed7a0509b4a7d1e59f52255e | |
parent | 3c84e5e1ceff8b7a17c3047c5ade822067a55a70 (diff) | |
download | php-git-e4539042516f337435c07a6e207eb5178e199d9a.tar.gz |
Fixed bug #72463 mail fails with invalid argument
-rw-r--r-- | ext/pcre/php_pcre.c | 2 | ||||
-rw-r--r-- | ext/pcre/tests/bug72463.phpt | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/ext/pcre/php_pcre.c b/ext/pcre/php_pcre.c index ed0f3b3ac4..356b5dc95a 100644 --- a/ext/pcre/php_pcre.c +++ b/ext/pcre/php_pcre.c @@ -1331,7 +1331,7 @@ PHPAPI zend_string *php_pcre_replace_impl(pcre_cache_entry *pce, zend_string *su break; } new_len = result_len + subject_len - start_offset; - if (new_len > alloc_len) { + if (new_len >= alloc_len) { alloc_len = new_len; /* now we know exactly how long it is */ if (NULL != result) { result = zend_string_realloc(result, alloc_len, 0); diff --git a/ext/pcre/tests/bug72463.phpt b/ext/pcre/tests/bug72463.phpt new file mode 100644 index 0000000000..c16461692c --- /dev/null +++ b/ext/pcre/tests/bug72463.phpt @@ -0,0 +1,12 @@ +--TEST-- +Bug #72463 mail fails with invalid argument +--FILE-- +<?php + +@mail("some.address.it.wont.ever.reach@lookup.and.try.to.find.this.host.name","subject","a", ""); +@mail("some.address.it.wont.ever.reach@lookup.and.try.to.find.this.host.name","subject","a", NULL); + +?> +===DONE=== +--EXPECTF-- +===DONE=== |