From dbac311f9993a8ab5f8ed4b0abd44904913f0691 Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Wed, 14 Oct 2009 01:32:07 +0000 Subject: [PATCH] Fixed bug #49847 (exec() fails to return data inside 2nd parameter, given output lines >4095 bytes). --- ext/standard/exec.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ext/standard/exec.c b/ext/standard/exec.c index 1fd528f4b2..fa29cb2124 100644 --- a/ext/standard/exec.c +++ b/ext/standard/exec.c @@ -130,13 +130,16 @@ PHPAPI int php_exec(int type, char *cmd, zval *array, zval *return_value TSRMLS_ } if (bufl) { /* strip trailing whitespaces if we have not done so already */ - if (type != 2) { + if ((type == 2 && bufl && !l) || type != 2) { l = bufl; while (l-- && isspace(((unsigned char *)buf)[l])); if (l != (bufl - 1)) { bufl = l + 1; buf[bufl] = '\0'; } + if (type == 2) { + add_next_index_stringl(array, buf, bufl, 1); + } } /* Return last line from the shell command */ -- 2.50.1