ID: 19857 User updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Open Bug Type: WDDX related Operating System: Win XP Pro PHP Version: 4.2.3 New Comment:
BTW, I apologize for all of the submissions; I mistakenly submitted more times that I wanted to... Previous Comments: ------------------------------------------------------------------------ [2002-10-13 04:06:35] [EMAIL PROTECTED] I tried changing the order of the fields in the WDDX packet, removing fields from the WDDX packet, changing the types of the fields in the WDDX packet, etc., none of this appears to have an impact on how PHP unserializes the packet. Also, PHP consistently only populates the "last" four fields of the aoSuboptions array in the example that I sent you, no matter how the WDDX packet is modified. For example, this WDDX packet produces the same unserialized results as stated in the original submission, even though the order of fields and field data types in the packet have been changed: <wddxPacket version="1.0"><header /><data><struct><var name="php_class_name"><string>COption</string></var><var name="sScriptRoot"><string>http://localhost/Delisma/Menu/</string></var><var name="aoImages"><array length="0" /></var><var name="fDiscountRate"><number>0</number></var><var name="fTaxRate"><number>0.0825</number></var><var name="aoSuboptions"><array length="2"><struct><var name="iMaxNumPaidSuboptions"><number>2</number></var><var name="iMinNumPaidSuboptions"><number>2</number></var><var name="iMaxNumFreeSuboptions"><number>3</number></var><var name="iMinNumFreeSuboptions"><number>1</number></var><var name="bActive"><boolean value="false" /></var><var name="bDiscounted"><boolean value="false" /></var><var name="bTaxable"><boolean value="false" /></var><var name="fWholesalePrice"><string>5.02</string></var><var name="fRetailPrice"><string>5.35</string></var><var name="iTimesAvailable"><string>5</string></var><var name="sDetailedDesc"><string>good good stuff</string></var><var name="sBriefDesc"><string>good stuff</string></var><var name="sName"><string>pizza</string></var><var name="iID"><number>1</number></var><var name="oItemCategories"><null /></var><var name="aoOptionMenues"><null /></var><var name="oOptionImages"><null /></var><var name="oOptionDiscounts"><null /></var><var name="oOptionTaxes"><null /></var><var name="oOptionSuboptions"><null /></var><var name="iPosition"><null /></var><var name="iNumber"><null /></var><var name="sConstructionErrors"><null /></var><var name="aoSuboptions"><null /></var><var name="aoImages"><null /></var><var name="php_class_name"><string>COption</string></var><var name="sScriptRoot"><string>http://localhost/Delisma/Menu/</string></var><var name="fDiscountRate"><number>0</number></var><var name="fTaxRate"><number>0.0825</number></var><var name="sQuestion"><string>What size do you want?</string></var></struct><struct><var name="sScriptRoot"><string>http://localhost/Delisma/Menu/</string></var><var name="fDiscountRate"><number>0</number></var><var name="fTaxRate"><number>0.0825</number></var><var name="sQuestion"><string>What size do you want?</string></var><var name="iMaxNumPaidSuboptions"><string>2</string></var><var name="iMinNumPaidSuboptions"><string>2</string></var><var name="iMaxNumFreeSuboptions"><string>3</string></var><var name="iMinNumFreeSuboptions"><string>1</string></var><var name="bActive"><boolean value="false" /></var><var name="bDiscounted"><boolean value="false" /></var><var name="bTaxable"><boolean value="false" /></var><var name="fWholesalePrice"><string>5.02</string></var><var name="fRetailPrice"><string>5.35</string></var><var name="iTimesAvailable"><string>5</string></var><var name="sDetailedDesc"><string>good good stuff</string></var><var name="sBriefDesc"><string>good stuff</string></var><var name="sName"><string>salad</string></var><var name="iID"><number>2</number></var><var name="oItemCategories"><null /></var><var name="aoOptionMenues"><null /></var><var name="oOptionImages"><null /></var><var name="oOptionDiscounts"><null /></var><var name="oOptionTaxes"><null /></var><var name="oOptionSuboptions"><null /></var><var name="iPosition"><null /></var><var name="iNumber"><null /></var><var name="sConstructionErrors"><null /></var><var name="aoSuboptions"><null /></var><var name="aoImages"><null /></var><var name="php_class_name"><string>coption</string></var></struct></array></var><var name="sQuestion"><string>Waz' up?</string></var><var name="iMaxNumPaidSuboptions"><number>2</number></var><var name="iMinNumPaidSuboptions"><number>0</number></var><var name="iMaxNumFreeSuboptions"><number>1</number></var><var name="iMinNumFreeSuboptions"><number>0</number></var><var name="bActive"><boolean value="false" /></var><var name="bDiscounted"><boolean value="false" /></var><var name="bTaxable"><boolean value="false" /></var><var name="fWholesalePrice"><number>12</number></var><var name="fRetailPrice"><number>18</number></var><var name="iTimesAvailable"><number>5</number></var><var name="sDetailedDesc"><string>'Da bomb is hear again! This is a friggin' quarter pound of good, good stuff!</string></var><var name="sBriefDesc"><string>'Dis Shit is Wack!</string></var><var name="iPosition"><number>0</number></var><var name="iNumber"><number>55</number></var><var name="sName"><string>Wacky Burger 5</string></var><var name="iID"><number>0</number></var></struct></data></wddxPacket> Thus, I would suspect that, since this bug is so easy to reproduce, it will not be difficult to fix... ------------------------------------------------------------------------ [2002-10-13 04:06:06] [EMAIL PROTECTED] I tried changing the order of the fields in the WDDX packet, removing fields from the WDDX packet, changing the types of the fields in the WDDX packet, etc., none of this appears to have an impact on how PHP unserializes the packet. Also, PHP consistently only populates the "last" four fields of the aoSuboptions array in the example that I sent you, no matter how the WDDX packet is modified. For example, this WDDX packet produces the same unserialized results as stated in the original submission, even though the order of fields and field data types in the packet have been changed: <wddxPacket version="1.0"><header /><data><struct><var name="php_class_name"><string>COption</string></var><var name="sScriptRoot"><string>http://localhost/Delisma/Menu/</string></var><var name="aoImages"><array length="0" /></var><var name="fDiscountRate"><number>0</number></var><var name="fTaxRate"><number>0.0825</number></var><var name="aoSuboptions"><array length="2"><struct><var name="iMaxNumPaidSuboptions"><number>2</number></var><var name="iMinNumPaidSuboptions"><number>2</number></var><var name="iMaxNumFreeSuboptions"><number>3</number></var><var name="iMinNumFreeSuboptions"><number>1</number></var><var name="bActive"><boolean value="false" /></var><var name="bDiscounted"><boolean value="false" /></var><var name="bTaxable"><boolean value="false" /></var><var name="fWholesalePrice"><string>5.02</string></var><var name="fRetailPrice"><string>5.35</string></var><var name="iTimesAvailable"><string>5</string></var><var name="sDetailedDesc"><string>good good stuff</string></var><var name="sBriefDesc"><string>good stuff</string></var><var name="sName"><string>pizza</string></var><var name="iID"><number>1</number></var><var name="oItemCategories"><null /></var><var name="aoOptionMenues"><null /></var><var name="oOptionImages"><null /></var><var name="oOptionDiscounts"><null /></var><var name="oOptionTaxes"><null /></var><var name="oOptionSuboptions"><null /></var><var name="iPosition"><null /></var><var name="iNumber"><null /></var><var name="sConstructionErrors"><null /></var><var name="aoSuboptions"><null /></var><var name="aoImages"><null /></var><var name="php_class_name"><string>COption</string></var><var name="sScriptRoot"><string>http://localhost/Delisma/Menu/</string></var><var name="fDiscountRate"><number>0</number></var><var name="fTaxRate"><number>0.0825</number></var><var name="sQuestion"><string>What size do you want?</string></var></struct><struct><var name="sScriptRoot"><string>http://localhost/Delisma/Menu/</string></var><var name="fDiscountRate"><number>0</number></var><var name="fTaxRate"><number>0.0825</number></var><var name="sQuestion"><string>What size do you want?</string></var><var name="iMaxNumPaidSuboptions"><string>2</string></var><var name="iMinNumPaidSuboptions"><string>2</string></var><var name="iMaxNumFreeSuboptions"><string>3</string></var><var name="iMinNumFreeSuboptions"><string>1</string></var><var name="bActive"><boolean value="false" /></var><var name="bDiscounted"><boolean value="false" /></var><var name="bTaxable"><boolean value="false" /></var><var name="fWholesalePrice"><string>5.02</string></var><var name="fRetailPrice"><string>5.35</string></var><var name="iTimesAvailable"><string>5</string></var><var name="sDetailedDesc"><string>good good stuff</string></var><var name="sBriefDesc"><string>good stuff</string></var><var name="sName"><string>salad</string></var><var name="iID"><number>2</number></var><var name="oItemCategories"><null /></var><var name="aoOptionMenues"><null /></var><var name="oOptionImages"><null /></var><var name="oOptionDiscounts"><null /></var><var name="oOptionTaxes"><null /></var><var name="oOptionSuboptions"><null /></var><var name="iPosition"><null /></var><var name="iNumber"><null /></var><var name="sConstructionErrors"><null /></var><var name="aoSuboptions"><null /></var><var name="aoImages"><null /></var><var name="php_class_name"><string>coption</string></var></struct></array></var><var name="sQuestion"><string>Waz' up?</string></var><var name="iMaxNumPaidSuboptions"><number>2</number></var><var name="iMinNumPaidSuboptions"><number>0</number></var><var name="iMaxNumFreeSuboptions"><number>1</number></var><var name="iMinNumFreeSuboptions"><number>0</number></var><var name="bActive"><boolean value="false" /></var><var name="bDiscounted"><boolean value="false" /></var><var name="bTaxable"><boolean value="false" /></var><var name="fWholesalePrice"><number>12</number></var><var name="fRetailPrice"><number>18</number></var><var name="iTimesAvailable"><number>5</number></var><var name="sDetailedDesc"><string>'Da bomb is hear again! This is a friggin' quarter pound of good, good stuff!</string></var><var name="sBriefDesc"><string>'Dis Shit is Wack!</string></var><var name="iPosition"><number>0</number></var><var name="iNumber"><number>55</number></var><var name="sName"><string>Wacky Burger 5</string></var><var name="iID"><number>0</number></var></struct></data></wddxPacket> Thus, I would suspect that, since this bug is so easy to reproduce, it will not be difficult to fix... ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/19857 -- Edit this bug report at http://bugs.php.net/?id=19857&edit=1