From: Dmitry Stogov Date: Fri, 7 Mar 2014 14:23:57 +0000 (+0400) Subject: Fixed char*/zend_string* inconsistency X-Git-Tag: POST_PHPNG_MERGE~412^2~361 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f0989e332f7663536f909e2485fb5198dc06acc8;p=php Fixed char*/zend_string* inconsistency --- diff --git a/ext/standard/exec.c b/ext/standard/exec.c index bc1f067290..70d0d82dda 100644 --- a/ext/standard/exec.c +++ b/ext/standard/exec.c @@ -409,7 +409,7 @@ PHP_FUNCTION(escapeshellcmd) } if (command_len) { - RETVAL_STRING(php_escape_shell_cmd(command)); + RETVAL_STR(php_escape_shell_cmd(command)); } else { RETVAL_EMPTY_STRING(); } diff --git a/ext/standard/mail.c b/ext/standard/mail.c index 0977a284ea..40c01a650e 100644 --- a/ext/standard/mail.c +++ b/ext/standard/mail.c @@ -101,14 +101,15 @@ PHP_FUNCTION(ezmlm_hash) PHP_FUNCTION(mail) { char *to=NULL, *message=NULL, *headers=NULL, *headers_trimmed=NULL; - char *subject=NULL, *extra_cmd=NULL; + char *subject=NULL; + zend_string *extra_cmd=NULL; int to_len, message_len, headers_len = 0; - int subject_len, extra_cmd_len = 0, i; + int subject_len, i; char *force_extra_parameters = INI_STR("mail.force_extra_parameters"); char *to_r, *subject_r; char *p, *e; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sss|ss", &to, &to_len, &subject, &subject_len, &message, &message_len, &headers, &headers_len, &extra_cmd, &extra_cmd_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sss|sS", &to, &to_len, &subject, &subject_len, &message, &message_len, &headers, &headers_len, &extra_cmd) == FAILURE) { return; } @@ -121,7 +122,7 @@ PHP_FUNCTION(mail) headers_trimmed = php_trim(headers, headers_len, NULL, 0, NULL, 2 TSRMLS_CC); } if (extra_cmd) { - MAIL_ASCIIZ_CHECK(extra_cmd, extra_cmd_len); + MAIL_ASCIIZ_CHECK(extra_cmd->val, extra_cmd->len); } if (to_len > 0) { @@ -167,10 +168,10 @@ PHP_FUNCTION(mail) if (force_extra_parameters) { extra_cmd = php_escape_shell_cmd(force_extra_parameters); } else if (extra_cmd) { - extra_cmd = php_escape_shell_cmd(extra_cmd); + extra_cmd = php_escape_shell_cmd(extra_cmd->val); } - if (php_mail(to_r, subject_r, message, headers_trimmed, extra_cmd TSRMLS_CC)) { + if (php_mail(to_r, subject_r, message, headers_trimmed, extra_cmd ? extra_cmd->val : NULL TSRMLS_CC)) { RETVAL_TRUE; } else { RETVAL_FALSE; @@ -181,7 +182,7 @@ PHP_FUNCTION(mail) } if (extra_cmd) { - efree (extra_cmd); + STR_RELEASE(extra_cmd); } if (to_r != to) { efree(to_r); diff --git a/main/main.c b/main/main.c index 821a1a7bfb..2f05b5f55f 100644 --- a/main/main.c +++ b/main/main.c @@ -629,7 +629,7 @@ PHPAPI void php_log_err(char *log_message TSRMLS_DC) if (fd != -1) { char *tmp; int len; - char *error_time_str; + zend_string *error_time_str; time(&error_time); #ifdef ZTS @@ -647,7 +647,7 @@ PHPAPI void php_log_err(char *log_message TSRMLS_DC) #endif php_ignore_value(write(fd, tmp, len)); efree(tmp); - efree(error_time_str); + STR_FREE(error_time_str); close(fd); PG(in_error_log) = 0; return;