3v4l.org

run code in 300+ PHP versions simultaneously
<?php // This example is from https://github.com/facebook/hhvm/issues/3440 $xml = '<?xml version="1.0"?>' . "\n" . '<samlp:Response xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xm' . 'lns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Destination="https://pro' . 'ject.mysite.com/saml/acs" ID="FIMRSP_5990c800-0147-1411-b087-93da9d684e69" IssueInstant="2014-07-21T15:36:06Z" Ver' . 'sion="2.0"><saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">https://accessuat.mysite.com/fim/sps' . '/saml20/saml20</saml:Issuer><samlp:Status><samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/></samlp:' . 'Status><saml:Assertion ID="Assertion-uuid5990c7c6-0147-19bd-9537-93da9d684e69" IssueInstant="2014-07-21T15:36:06Z" Versi' . 'on="2.0"><saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">https://accessuat.mysite.com/fim/sps/s' . 'aml20/saml20</saml:Issuer><saml:Subject><saml:NameID Format="urn:oasis:names:tc:SAML:1.' . '1:nameid-format:unspecified">testjive</saml:NameID><saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bear' . 'er"><saml:SubjectConfirmationData NotOnOrAfter="2014-07-21T15:46:06Z" Recipient="https://project.mysite.com/saml/a' . 'cs"/></saml:SubjectConfirmation></saml:Subject><saml:Conditions NotBefore="2014-07-21T15:26:06Z" NotOnOrAfter="2014-07-2' . '1T15:46:06Z"><saml:AudienceRestriction><saml:Audience>http://project.mysite.com</saml:Audience></saml:AudienceRest' . 'riction></saml:Conditions><saml:AuthnStatement AuthnInstant="2014-07-21T15:36:06Z" SessionIndex="uuid599090e7-0147-15b6-' . '9dfd-93da9d684e69" SessionNotOnOrAfter="2014-07-21T16:36:06Z"><saml:AuthnContext><saml:AuthnContextClassRef>urn:oasis:na' . 'mes:tc:SAML:2.0:ac:classes:Password</saml:AuthnContextClassRef></saml:AuthnContext></saml:AuthnStatement><saml:Attribute' . 'Statement><saml:Attribute Name="LastName" NameFormat="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"><saml:Attri' . 'buteValue xsi:type="xs:string">user</saml:AttributeValue></saml:Attribute><saml:Attribute Name="FirstName" NameFormat="u' . 'rn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"><saml:AttributeValue xsi:type="xs:string">Test</saml:AttributeValu' . 'e></saml:Attribute><saml:Attribute Name="email" NameFormat="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"><saml' . ':AttributeValue xsi:type="xs:string">idam_support@bp.com</saml:AttributeValue></saml:Attribute><saml:Attribute Name="use' . 'r-id" NameFormat="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"><saml:AttributeValue xsi:type="xs:string">testj' . 'ive</saml:AttributeValue></saml:Attribute></saml:AttributeStatement></saml:Assertion></samlp:Response>'; $arr = array(); for ($i = 0; $i <= pow(2,31); $i++) { array_push($arr, 'AAAA'); } $doc = new DOMDocument(); $res = $doc->loadXML($xml); $caNode = $doc->C14N(true, false, null, $arr); echo md5($caNode);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 9
Branch analysis from position: 9
2 jumps found. (Code = 44) Position 1 = 15, Position 2 = 4
Branch analysis from position: 15
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 4
2 jumps found. (Code = 44) Position 1 = 15, Position 2 = 4
Branch analysis from position: 15
Branch analysis from position: 4
filename:       /in/L2JV2
function name:  (null)
number of ops:  34
compiled vars:  !0 = $xml, !1 = $arr, !2 = $i, !3 = $doc, !4 = $res, !5 = $caNode
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '%3C%3Fxml+version%3D%221.0%22%3F%3E%0A%3Csamlp%3AResponse+xmlns%3Asaml%3D%22urn%3Aoasis%3Anames%3Atc%3ASAML%3A2.0%3Aassertion%22+xmlns%3Asamlp%3D%22urn%3Aoasis%3Anames%3Atc%3ASAML%3A2.0%3Aprotocol%22+xmlns%3Axs%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%22+xmlns%3Axsi%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance%22+Destination%3D%22https%3A%2F%2Fproject.mysite.com%2Fsaml%2Facs%22+ID%3D%22FIMRSP_5990c800-0147-1411-b087-93da9d684e69%22+IssueInstant%3D%222014-07-21T15%3A36%3A06Z%22+Version%3D%222.0%22%3E%3Csaml%3AIssuer+Format%3D%22urn%3Aoasis%3Anames%3Atc%3ASAML%3A2.0%3Anameid-format%3Aentity%22%3Ehttps%3A%2F%2Faccessuat.mysite.com%2Ffim%2Fsps%2Fsaml20%2Fsaml20%3C%2Fsaml%3AIssuer%3E%3Csamlp%3AStatus%3E%3Csamlp%3AStatusCode+Value%3D%22urn%3Aoasis%3Anames%3Atc%3ASAML%3A2.0%3Astatus%3ASuccess%22%2F%3E%3C%2Fsamlp%3AStatus%3E%3Csaml%3AAssertion+ID%3D%22Assertion-uuid5990c7c6-0147-19bd-9537-93da9d684e69%22+IssueInstant%3D%222014-07-21T15%3A36%3A06Z%22+Version%3D%222.0%22%3E%3Csaml%3AIssuer+Format%3D%22urn%3Aoasis%3Anames%3Atc%3ASAML%3A2.0%3Anameid-format%3Aentity%22%3Ehttps%3A%2F%2Faccessuat.mysite.com%2Ffim%2Fsps%2Fsaml20%2Fsaml20%3C%2Fsaml%3AIssuer%3E%3Csaml%3ASubject%3E%3Csaml%3ANameID+Format%3D%22urn%3Aoasis%3Anames%3Atc%3ASAML%3A1.1%3Anameid-format%3Aunspecified%22%3Etestjive%3C%2Fsaml%3ANameID%3E%3Csaml%3ASubjectConfirmation+Method%3D%22urn%3Aoasis%3Anames%3Atc%3ASAML%3A2.0%3Acm%3Abearer%22%3E%3Csaml%3ASubjectConfirmationData+NotOnOrAfter%3D%222014-07-21T15%3A46%3A06Z%22+Recipient%3D%22https%3A%2F%2Fproject.mysite.com%2Fsaml%2Facs%22%2F%3E%3C%2Fsaml%3ASubjectConfirmation%3E%3C%2Fsaml%3ASubject%3E%3Csaml%3AConditions+NotBefore%3D%222014-07-21T15%3A26%3A06Z%22+NotOnOrAfter%3D%222014-07-21T15%3A46%3A06Z%22%3E%3Csaml%3AAudienceRestriction%3E%3Csaml%3AAudience%3Ehttp%3A%2F%2Fproject.mysite.com%3C%2Fsaml%3AAudience%3E%3C%2Fsaml%3AAudienceRestriction%3E%3C%2Fsaml%3AConditions%3E%3Csaml%3AAuthnStatement+AuthnInstant%3D%222014-07-21T15%3A36%3A06Z%22+SessionIndex%3D%22uuid599090e7-0147-15b6-9dfd-93da9d684e69%22+SessionNotOnOrAfter%3D%222014-07-21T16%3A36%3A06Z%22%3E%3Csaml%3AAuthnContext%3E%3Csaml%3AAuthnContextClassRef%3Eurn%3Aoasis%3Anames%3Atc%3ASAML%3A2.0%3Aac%3Aclasses%3APassword%3C%2Fsaml%3AAuthnContextClassRef%3E%3C%2Fsaml%3AAuthnContext%3E%3C%2Fsaml%3AAuthnStatement%3E%3Csaml%3AAttributeStatement%3E%3Csaml%3AAttribute+Name%3D%22LastName%22+NameFormat%3D%22urn%3Aoasis%3Anames%3Atc%3ASAML%3A1.1%3Anameid-format%3Aunspecified%22%3E%3Csaml%3AAttributeValue+xsi%3Atype%3D%22xs%3Astring%22%3Euser%3C%2Fsaml%3AAttributeValue%3E%3C%2Fsaml%3AAttribute%3E%3Csaml%3AAttribute+Name%3D%22FirstName%22+NameFormat%3D%22urn%3Aoasis%3Anames%3Atc%3ASAML%3A1.1%3Anameid-format%3Aunspecified%22%3E%3Csaml%3AAttributeValue+xsi%3Atype%3D%22xs%3Astring%22%3ETest%3C%2Fsaml%3AAttributeValue%3E%3C%2Fsaml%3AAttribute%3E%3Csaml%3AAttribute+Name%3D%22email%22+NameFormat%3D%22urn%3Aoasis%3Anames%3Atc%3ASAML%3A1.1%3Anameid-format%3Aunspecified%22%3E%3Csaml%3AAttributeValue+xsi%3Atype%3D%22xs%3Astring%22%3Eidam_support%40bp.com%3C%2Fsaml%3AAttributeValue%3E%3C%2Fsaml%3AAttribute%3E%3Csaml%3AAttribute+Name%3D%22user-id%22+NameFormat%3D%22urn%3Aoasis%3Anames%3Atc%3ASAML%3A1.1%3Anameid-format%3Aunspecified%22%3E%3Csaml%3AAttributeValue+xsi%3Atype%3D%22xs%3Astring%22%3Etestjive%3C%2Fsaml%3AAttributeValue%3E%3C%2Fsaml%3AAttribute%3E%3C%2Fsaml%3AAttributeStatement%3E%3C%2Fsaml%3AAssertion%3E%3C%2Fsamlp%3AResponse%3E'
   26     1        ASSIGN                                                   !1, <array>
   27     2        ASSIGN                                                   !2, 0
          3      > JMP                                                      ->9
   28     4    >   INIT_FCALL                                               'array_push'
          5        SEND_REF                                                 !1
          6        SEND_VAL                                                 'AAAA'
          7        DO_ICALL                                                 
   27     8        PRE_INC                                                  !2
          9    >   INIT_FCALL                                               'pow'
         10        SEND_VAL                                                 2
         11        SEND_VAL                                                 31
         12        DO_ICALL                                         $11     
         13        IS_SMALLER_OR_EQUAL                                      !2, $11
         14      > JMPNZ                                                    ~12, ->4
   30    15    >   NEW                                              $13     'DOMDocument'
         16        DO_FCALL                                      0          
         17        ASSIGN                                                   !3, $13
   31    18        INIT_METHOD_CALL                                         !3, 'loadXML'
         19        SEND_VAR_EX                                              !0
         20        DO_FCALL                                      0  $16     
         21        ASSIGN                                                   !4, $16
   32    22        INIT_METHOD_CALL                                         !3, 'C14N'
         23        SEND_VAL_EX                                              <true>
         24        SEND_VAL_EX                                              <false>
         25        SEND_VAL_EX                                              null
         26        SEND_VAR_EX                                              !1
         27        DO_FCALL                                      0  $18     
         28        ASSIGN                                                   !5, $18
   33    29        INIT_FCALL                                               'md5'
         30        SEND_VAR                                                 !5
         31        DO_ICALL                                         $20     
         32        ECHO                                                     $20
         33      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
155.66 ms | 1400 KiB | 19 Q