|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #2181 imap_fetchstructure() don't set body->type when message is TYPETEXT
Submitted: 1999-08-28 11:42 UTC Modified: 2001-05-14 14:33 UTC
From: tsukada at fminn dot nagano dot nagano dot jp Assigned: vlad
Status: Closed Package: IMAP related
PHP Version: 4.0 OS: Linux RH6.0
Private report: No CVE-ID:
 [1999-08-28 11:42 UTC] tsukada at fminn dot nagano dot nagano dot jp
please check below patch

--- imap.c.orig Sat Aug 28 23:43:06 1999
+++ imap.c      Sun Aug 29 00:08:24 1999
@@ -2087,8 +2087,8 @@
        PARAMETER *par, *dpar;
        PART *part;
-       if(body->type) add_property_long( arg, "type", body->type );
-       if(body->encoding) add_property_long( arg, "encoding", body->encoding );
+       if(body->type < TYPEMAX) add_property_long( arg, "type", body->type );
+       if(body->encoding < ENCMAX) add_property_long( arg, "encoding", body->encoding );
        if ( body->subtype ){
                add_property_long( arg, "ifsubtype", 1 );
@@ -2711,8 +2711,8 @@
        body=mail_body(imap_le_struct->imap_stream, msg->value.lval, section->value.str.val);
-       if(body->type) add_property_long( return_value, "type", body->type );
-       if(body->encoding) add_property_long( return_value, "encoding", body->encoding );
+       if(body->type < TYPEMAX) add_property_long( return_value, "type", body->type );
+       if(body->encoding < ENCMAX) add_property_long( return_value, "encoding", body->encoding );
        if ( body->subtype ){
          add_property_long( return_value, "ifsubtype", 1 );


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [1999-11-15 10:11 UTC] joey at cvs dot php dot net
Hope you don't mind if I assign this?
 [2001-02-10 13:41 UTC]
refiled against 4.0 imap. no idea if it is still an issue.
 [2001-05-07 14:48 UTC]
This shouldn't be a problem for imap_fetchstructure() now, because that code is not there. However, this code is present in imap_bodystruct(), which does not seem to be documented (?). I'll try to see if I can create a message that will trigger that problem, and, if I can trigger it, I'll fix it.

If anyone else gets to it before me, I have a suggestion about the patch submited by - the "less-than" sign in "body->type < TYPEMAX" and "body->encoding < ENCMAX" whould really be "less or equal" (that's what I understod from reading imap/c-client/imap4r1.c)

 [2001-05-07 14:51 UTC]
I'll assign this one to you then.
 [2001-05-14 14:33 UTC]
Actually, this was still a problem, I just missed it. 7-bit encodings and plain-text body types both should be represented by setting body->type and body->encoding to zero, respectively. They were not set at all. Now they are. The impact should be minimal because zero is the same as an unset variable, as far as most people are concerned in this case.

PHP Copyright © 2001-2017 The PHP Group
All rights reserved.
Last updated: Sun Feb 26 07:01:43 2017 UTC