@@ -386,7 +386,7 @@ void php_mail_log_to_file(char *filename, char *message, size_t message_size) {
386
386
}
387
387
388
388
389
- static int php_mail_detect_multiple_crlf (char * hdr ) {
389
+ static int php_mail_detect_multiple_crlf (const char * hdr ) {
390
390
/* This function detects multiple/malformed multiple newlines. */
391
391
392
392
if (!hdr || !strlen (hdr )) {
@@ -436,14 +436,15 @@ PHPAPI int php_mail(const char *to, const char *subject, const char *message, co
436
436
char * sendmail_path = INI_STR ("sendmail_path" );
437
437
char * sendmail_cmd = NULL ;
438
438
char * mail_log = INI_STR ("mail.log" );
439
- char * hdr = (char * ) headers ;
439
+ const char * hdr = headers ;
440
+ char * ahdr = NULL ;
440
441
#if PHP_SIGCHILD
441
442
void (* sig_handler )() = NULL ;
442
443
#endif
443
444
444
445
#define MAIL_RET (val ) \
445
- if (hdr != headers ) { \
446
- efree(hdr ); \
446
+ if (ahdr != NULL ) { \
447
+ efree(ahdr ); \
447
448
} \
448
449
return val; \
449
450
@@ -486,10 +487,11 @@ PHPAPI int php_mail(const char *to, const char *subject, const char *message, co
486
487
f = php_basename (tmp , strlen (tmp ), NULL , 0 );
487
488
488
489
if (headers != NULL && * headers ) {
489
- spprintf (& hdr , 0 , "X-PHP-Originating-Script: " ZEND_LONG_FMT ":%s\r\n%s" , php_getuid (), ZSTR_VAL (f ), headers );
490
+ spprintf (& ahdr , 0 , "X-PHP-Originating-Script: " ZEND_LONG_FMT ":%s\r\n%s" , php_getuid (), ZSTR_VAL (f ), headers );
490
491
} else {
491
- spprintf (& hdr , 0 , "X-PHP-Originating-Script: " ZEND_LONG_FMT ":%s" , php_getuid (), ZSTR_VAL (f ));
492
+ spprintf (& ahdr , 0 , "X-PHP-Originating-Script: " ZEND_LONG_FMT ":%s" , php_getuid (), ZSTR_VAL (f ));
492
493
}
494
+ hdr = ahdr ;
493
495
zend_string_release_ex (f , 0 );
494
496
}
495
497
0 commit comments