File: bug1266.phpt

package info (click to toggle)
php-mongodb 1.15.0%2B1.11.1%2B1.9.2%2B1.7.5-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 63,984 kB
  • sloc: ansic: 328,429; xml: 10,797; php: 4,235; sh: 179; python: 47; pascal: 36; makefile: 3
file content (58 lines) | stat: -rw-r--r-- 1,546 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
--TEST--
Test for PHPC-1266: Empty deeply nested BSON document causes unallocated memory writes
--FILE--
<?php
$a = <<<ENDJSON
{
    "value" : {     
        "payload" : {
            "PayloadMasterDataMeteringPointPartyEvent" : {
                "MeteringPointPartyDetailMeteringPointPartyCharacteristic" : {
                    "AdministrativePartyMPAdministrativeParty" : [
                        {
                            "AdministrativePartyAddressLocationAddress" : {
                                "StreetCode" : {
                                }
                            }
                        }
                    ]
                }
            }
        }
    }
}   
ENDJSON;

$bson = MongoDB\BSON\fromJSON($a);
var_dump(MongoDB\BSON\toPHP($bson));
?>
===DONE===
<?php exit(0); ?>
--EXPECTF--
object(stdClass)#%d (%d) {
  ["value"]=>
  object(stdClass)#%d (%d) {
    ["payload"]=>
    object(stdClass)#%d (%d) {
      ["PayloadMasterDataMeteringPointPartyEvent"]=>
      object(stdClass)#%d (%d) {
        ["MeteringPointPartyDetailMeteringPointPartyCharacteristic"]=>
        object(stdClass)#%d (%d) {
          ["AdministrativePartyMPAdministrativeParty"]=>
          array(%d) {
            [0]=>
            object(stdClass)#%d (%d) {
              ["AdministrativePartyAddressLocationAddress"]=>
              object(stdClass)#%d (%d) {
                ["StreetCode"]=>
                object(stdClass)#%d (%d) {
                }
              }
            }
          }
        }
      }
    }
  }
}
===DONE===