From: Anatol Belski <ab@php.net>
Date: Wed, 22 Jun 2016 17:05:31 +0000 (+0200)
Subject: Fixed bug #72463 mail fails with invalid argument
X-Git-Tag: php-7.0.9RC1~25
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e4539042516f337435c07a6e207eb5178e199d9a;p=php

Fixed bug #72463 mail fails with invalid argument
---

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===