cvs: php4(PHP_4_2_0) /ext/standard mail.c
| From: | Stefan Esser | Date: | Sun, 23 Jun 2002 17:22:52 +0000 |
| Subject: | cvs: php4(PHP_4_2_0) /ext/standard mail.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-12465@lists.php.net to get a copy of this message | ||
sesser Sun Jun 23 13:22:52 2002 EDT
Modified files: (Branch: PHP_4_2_0)
/php4/ext/standard mail.c
Log:
merged in the filtering control chars patch
Index: php4/ext/standard/mail.c
diff -u php4/ext/standard/mail.c:1.48 php4/ext/standard/mail.c:1.48.2.1
--- php4/ext/standard/mail.c:1.48 Thu Feb 28 03:26:46 2002
+++ php4/ext/standard/mail.c Sun Jun 23 13:22:52 2002
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: mail.c,v 1.48 2002/02/28 08:26:46 sebastian Exp $ */
+/* $Id: mail.c,v 1.48.2.1 2002/06/23 17:22:52 sesser Exp $ */
#include <stdlib.h>
#include <ctype.h>
@@ -70,7 +70,7 @@
PHP_FUNCTION(mail)
{
char *to=NULL, *message=NULL, *headers=NULL, *subject=NULL, *extra_cmd=NULL;
- int to_len,message_len,headers_len,subject_len,extra_cmd_len;
+ int to_len,message_len,headers_len,subject_len,extra_cmd_len,i;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sss|ss",
@@ -83,14 +83,22 @@
return;
}
- for(to_len--;to_len;to_len--) {
- if(!isspace(to[to_len]))break;
- to[to_len]='\0';
+ if (to_len > 0) {
+ for(to_len--;to_len;to_len--) {
+ if(!isspace((unsigned char)to[to_len]))break;
+ to[to_len]='\0';
+ }
+ for(i=0;!iscntrl((unsigned char)to[i]);i++) {}
+ to[i]='\0';
}
- for(subject_len--;subject_len;subject_len--) {
- if(!isspace(subject[subject_len]))break;
- subject[subject_len]='\0';
+ if (subject_len > 0) {
+ for(subject_len--;subject_len;subject_len--) {
+ if(!isspace((unsigned char)subject[subject_len]))break;
+ subject[subject_len]='\0';
+ }
+ for(i=0;!iscntrl((unsigned char)subject[i]);i++) {}
+ subject[i]='\0';
}
if(extra_cmd)