dpmem.c.eg.dot 150 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070
  1. digraph "base" {
  2. overlap=false;
  3. compound=true;
  4. exploded_node_0 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 0\l\
  5. callstring:\ []\l\
  6. origin\l\
  7. rmodel:\l\
  8. stack\ depth:\ 0\l\
  9. m_called_unknown_fn:\ FALSE\l\
  10. constraint_manager:\l\
  11. \ \ equiv\ classes:\l\
  12. \ \ constraints:\l\
  13. \l\
  14. "];
  15. subgraph "cluster_function_dp_calloc" {
  16. label="call string: [(SN: 19 -> SN: 4 in dp_strdup)] function: dp_calloc ";
  17. subgraph "cluster_supernode_13" {
  18. style="dashed";
  19. label="SN: 13 (bb: 0; scc: 13)";
  20. exploded_node_18 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 18\l\
  21. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  22. before\ SN:\ 13\ (NULL\ from-edge)\l\
  23. \l\
  24. rmodel:\l\
  25. stack\ depth:\ 2\l\
  26. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  27. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  28. clusters\ within\ root\ region\l\
  29. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  30. \ \ \ \ ESCAPED\l\
  31. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  32. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  33. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  34. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  35. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  36. \ \ cluster\ for:\ size_6(D):\ (INIT_VAL(_2)+(size_t)1)\l\
  37. m_called_unknown_fn:\ FALSE\l\
  38. constraint_manager:\l\
  39. \ \ equiv\ classes:\l\
  40. \ \ \ \ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  41. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  42. \ \ \ \ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  43. \ \ \ \ ec3:\ \{INIT_VAL(str_6(D))\}\l\
  44. \ \ constraints:\l\
  45. \ \ \ \ 0:\ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  46. \ \ \ \ 1:\ ec3:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  47. \l\
  48. "];
  49. exploded_node_45 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 45\l\
  50. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  51. after\ SN:\ 13\l\
  52. rmodel:\l\
  53. stack\ depth:\ 2\l\
  54. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  55. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  56. clusters\ within\ root\ region\l\
  57. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  58. \ \ \ \ ESCAPED\l\
  59. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  60. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  61. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  62. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  63. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  64. \ \ cluster\ for:\ size_6(D):\ (INIT_VAL(_2)+(size_t)1)\l\
  65. m_called_unknown_fn:\ FALSE\l\
  66. constraint_manager:\l\
  67. \ \ equiv\ classes:\l\
  68. \ \ \ \ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  69. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  70. \ \ \ \ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  71. \ \ \ \ ec3:\ \{INIT_VAL(str_6(D))\}\l\
  72. \ \ constraints:\l\
  73. \ \ \ \ 0:\ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  74. \ \ \ \ 1:\ ec3:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  75. \l\
  76. "];
  77. }
  78. subgraph "cluster_supernode_14" {
  79. style="dashed";
  80. label="SN: 14 (bb: 2; scc: 14)";
  81. exploded_node_46 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 46\l\
  82. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  83. before\ SN:\ 14\ (from\ SN:\ 13)\l\
  84. \l\
  85. rmodel:\l\
  86. stack\ depth:\ 2\l\
  87. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  88. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  89. clusters\ within\ root\ region\l\
  90. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  91. \ \ \ \ ESCAPED\l\
  92. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  93. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  94. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  95. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  96. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  97. \ \ cluster\ for:\ size_6(D):\ (INIT_VAL(_2)+(size_t)1)\l\
  98. m_called_unknown_fn:\ FALSE\l\
  99. constraint_manager:\l\
  100. \ \ equiv\ classes:\l\
  101. \ \ \ \ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  102. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  103. \ \ \ \ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  104. \ \ \ \ ec3:\ \{INIT_VAL(str_6(D))\}\l\
  105. \ \ constraints:\l\
  106. \ \ \ \ 0:\ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  107. \ \ \ \ 1:\ ec3:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  108. \l\
  109. "];
  110. exploded_node_49 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 49\l\
  111. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  112. before\ (SN:\ 14\ stmt:\ 0):\ \l\
  113. #\ DEBUG\ BEGIN_STMT\l\
  114. 80\ \|\ \ \ \ \ \ \ \ \ void\ *ret\ =\ NULL;\l\
  115. \ \ \ \|\ \ \ \ \ \ \ \ \ ^~~~\l\
  116. \l\
  117. rmodel:\l\
  118. stack\ depth:\ 2\l\
  119. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  120. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  121. clusters\ within\ root\ region\l\
  122. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  123. \ \ \ \ ESCAPED\l\
  124. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  125. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  126. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  127. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  128. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  129. \ \ cluster\ for:\ size_6(D):\ (INIT_VAL(_2)+(size_t)1)\l\
  130. m_called_unknown_fn:\ FALSE\l\
  131. constraint_manager:\l\
  132. \ \ equiv\ classes:\l\
  133. \ \ \ \ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  134. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  135. \ \ \ \ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  136. \ \ \ \ ec3:\ \{INIT_VAL(str_6(D))\}\l\
  137. \ \ constraints:\l\
  138. \ \ \ \ 0:\ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  139. \ \ \ \ 1:\ ec3:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  140. \l\
  141. stmts:\ 5\l\
  142. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  143. \ \ 1:\ #\ DEBUG\ ret\ =\>\ 0B\l\
  144. \ \ 2:\ #\ DEBUG\ BEGIN_STMT\l\
  145. \ \ 3:\ _1\ =\ nmemb_5(D)\ *\ size_6(D);\l\
  146. \ \ 4:\ if\ (_1\ ==\ 0)\l\
  147. "];
  148. exploded_node_50 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 50\l\
  149. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  150. after\ SN:\ 14\l\
  151. rmodel:\l\
  152. stack\ depth:\ 2\l\
  153. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  154. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  155. clusters\ within\ root\ region\l\
  156. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  157. \ \ \ \ ESCAPED\l\
  158. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  159. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  160. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  161. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  162. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  163. \ \ cluster\ for:\ size_6(D):\ (INIT_VAL(_2)+(size_t)1)\l\
  164. \ \ cluster\ for:\ _1:\ (INIT_VAL(_2)+(size_t)1)\l\
  165. m_called_unknown_fn:\ FALSE\l\
  166. constraint_manager:\l\
  167. \ \ equiv\ classes:\l\
  168. \ \ \ \ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  169. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  170. \ \ \ \ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  171. \ \ \ \ ec3:\ \{INIT_VAL(str_6(D))\}\l\
  172. \ \ constraints:\l\
  173. \ \ \ \ 0:\ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  174. \ \ \ \ 1:\ ec3:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  175. \l\
  176. "];
  177. }
  178. subgraph "cluster_supernode_15" {
  179. style="dashed";
  180. label="SN: 15 (bb: 3; scc: 15)";
  181. exploded_node_51 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 51\l\
  182. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  183. before\ SN:\ 15\ (from\ SN:\ 14)\l\
  184. \l\
  185. rmodel:\l\
  186. stack\ depth:\ 2\l\
  187. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  188. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  189. clusters\ within\ root\ region\l\
  190. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  191. \ \ \ \ ESCAPED\l\
  192. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  193. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  194. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  195. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  196. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  197. \ \ cluster\ for:\ size_6(D):\ (INIT_VAL(_2)+(size_t)1)\l\
  198. m_called_unknown_fn:\ FALSE\l\
  199. constraint_manager:\l\
  200. \ \ equiv\ classes:\l\
  201. \ \ \ \ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  202. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  203. \ \ \ \ ec2:\ \{(size_t)0\ ==\ (INIT_VAL(_2)+(size_t)1)\ ==\ [m_constant]'0'\}\l\
  204. \ \ \ \ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  205. \ \ \ \ ec4:\ \{INIT_VAL(str_6(D))\}\l\
  206. \ \ constraints:\l\
  207. \ \ \ \ 0:\ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  208. \ \ \ \ 1:\ ec4:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  209. \l\
  210. "];
  211. exploded_node_57 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 57\l\
  212. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  213. before\ (SN:\ 15\ stmt:\ 0):\ \l\
  214. #\ DEBUG\ BEGIN_STMT\l\
  215. 83\ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ printf(\"%s():\ nmemb=%d,\ size=%d\ 0\ bytes\\n\",\ __func__,\ (int)nmemb,\ (int)size);\l\
  216. \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~~~~~\l\
  217. \l\
  218. rmodel:\l\
  219. stack\ depth:\ 2\l\
  220. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  221. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  222. clusters\ within\ root\ region\l\
  223. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  224. \ \ \ \ ESCAPED\l\
  225. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  226. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  227. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  228. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  229. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  230. \ \ cluster\ for:\ size_6(D):\ (INIT_VAL(_2)+(size_t)1)\l\
  231. m_called_unknown_fn:\ FALSE\l\
  232. constraint_manager:\l\
  233. \ \ equiv\ classes:\l\
  234. \ \ \ \ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  235. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  236. \ \ \ \ ec2:\ \{(size_t)0\ ==\ (INIT_VAL(_2)+(size_t)1)\ ==\ [m_constant]'0'\}\l\
  237. \ \ \ \ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  238. \ \ \ \ ec4:\ \{INIT_VAL(str_6(D))\}\l\
  239. \ \ constraints:\l\
  240. \ \ \ \ 0:\ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  241. \ \ \ \ 1:\ ec4:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  242. \l\
  243. stmts:\ 4\l\
  244. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  245. \ \ 1:\ _2\ =\ (int)\ size_6(D);\l\
  246. \ \ 2:\ _3\ =\ (int)\ nmemb_5(D);\l\
  247. \ \ 3:\ printf\ (\"%s():\ nmemb=%d,\ size=%d\ 0\ bytes\\n\",\ &__func__,\ _3,\ _2);\l\
  248. "];
  249. exploded_node_58 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 58\l\
  250. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  251. after\ SN:\ 15\l\
  252. rmodel:\l\
  253. stack\ depth:\ 2\l\
  254. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  255. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  256. clusters\ within\ root\ region\l\
  257. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  258. \ \ \ \ ESCAPED\l\
  259. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  260. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  261. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  262. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  263. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  264. \ \ cluster\ for:\ size_6(D):\ (INIT_VAL(_2)+(size_t)1)\l\
  265. \ \ cluster\ for:\ _2:\ (INIT_VAL(_2)+(size_t)1)\l\
  266. \ \ cluster\ for:\ _3:\ (int)1\l\
  267. m_called_unknown_fn:\ FALSE\l\
  268. constraint_manager:\l\
  269. \ \ equiv\ classes:\l\
  270. \ \ \ \ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  271. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  272. \ \ \ \ ec2:\ \{(size_t)0\ ==\ (INIT_VAL(_2)+(size_t)1)\ ==\ [m_constant]'0'\}\l\
  273. \ \ \ \ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  274. \ \ \ \ ec4:\ \{INIT_VAL(str_6(D))\}\l\
  275. \ \ constraints:\l\
  276. \ \ \ \ 0:\ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  277. \ \ \ \ 1:\ ec4:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  278. \l\
  279. "];
  280. }
  281. subgraph "cluster_supernode_16" {
  282. style="dashed";
  283. label="SN: 16 (bb: 4; scc: 16)";
  284. exploded_node_52 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 52\ (bulk\ merged)\l\
  285. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  286. before\ SN:\ 16\ (from\ SN:\ 14)\l\
  287. .MEM_4\ =\ PHI\ \<.MEM_7(D)(2),\ .MEM_8(3)\>\l\
  288. rmodel:\l\
  289. stack\ depth:\ 2\l\
  290. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  291. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  292. clusters\ within\ root\ region\l\
  293. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  294. \ \ \ \ ESCAPED\l\
  295. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  296. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  297. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  298. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  299. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  300. \ \ cluster\ for:\ size_6(D):\ (INIT_VAL(_2)+(size_t)1)\l\
  301. m_called_unknown_fn:\ FALSE\l\
  302. constraint_manager:\l\
  303. \ \ equiv\ classes:\l\
  304. \ \ \ \ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  305. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  306. \ \ \ \ ec2:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  307. \ \ \ \ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  308. \ \ \ \ ec4:\ \{INIT_VAL(str_6(D))\}\l\
  309. \ \ \ \ ec5:\ \{(INIT_VAL(_2)+(size_t)1)\}\l\
  310. \ \ constraints:\l\
  311. \ \ \ \ 0:\ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  312. \ \ \ \ 1:\ ec4:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  313. \ \ \ \ 2:\ ec5:\ \{(INIT_VAL(_2)+(size_t)1)\}\ !=\ ec2:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  314. \l\
  315. "];
  316. exploded_node_59 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 59\ (bulk\ merged)\l\
  317. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  318. before\ SN:\ 16\ (from\ SN:\ 15)\l\
  319. .MEM_4\ =\ PHI\ \<.MEM_7(D)(2),\ .MEM_8(3)\>\l\
  320. rmodel:\l\
  321. stack\ depth:\ 2\l\
  322. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  323. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  324. clusters\ within\ root\ region\l\
  325. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  326. \ \ \ \ ESCAPED\l\
  327. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  328. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  329. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  330. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  331. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  332. \ \ cluster\ for:\ size_6(D):\ (INIT_VAL(_2)+(size_t)1)\l\
  333. m_called_unknown_fn:\ FALSE\l\
  334. constraint_manager:\l\
  335. \ \ equiv\ classes:\l\
  336. \ \ \ \ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  337. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  338. \ \ \ \ ec2:\ \{(size_t)0\ ==\ (INIT_VAL(_2)+(size_t)1)\ ==\ [m_constant]'0'\}\l\
  339. \ \ \ \ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  340. \ \ \ \ ec4:\ \{INIT_VAL(str_6(D))\}\l\
  341. \ \ constraints:\l\
  342. \ \ \ \ 0:\ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  343. \ \ \ \ 1:\ ec4:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  344. \l\
  345. "];
  346. exploded_node_63 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 63\l\
  347. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  348. before\ (SN:\ 16\ stmt:\ 0):\ \l\
  349. #\ DEBUG\ BEGIN_STMT\l\
  350. 85\ \|\ \ \ \ \ \ \ \ \ ret\ =\ calloc(nmemb,\ size);\l\
  351. \ \ \ \|\ \ \ \ \ \ \ \ \ ^~~\l\
  352. \l\
  353. rmodel:\l\
  354. stack\ depth:\ 2\l\
  355. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  356. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  357. clusters\ within\ root\ region\l\
  358. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  359. \ \ \ \ ESCAPED\l\
  360. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  361. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  362. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  363. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  364. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  365. \ \ cluster\ for:\ size_6(D):\ (INIT_VAL(_2)+(size_t)1)\l\
  366. m_called_unknown_fn:\ FALSE\l\
  367. constraint_manager:\l\
  368. \ \ equiv\ classes:\l\
  369. \ \ \ \ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  370. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  371. \ \ \ \ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  372. \ \ \ \ ec3:\ \{INIT_VAL(str_6(D))\}\l\
  373. \ \ constraints:\l\
  374. \ \ \ \ 0:\ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  375. \ \ \ \ 1:\ ec3:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  376. \l\
  377. stmts:\ 1\l\
  378. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  379. "];
  380. exploded_node_64 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 64\l\
  381. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  382. before\ (SN:\ 16\ stmt:\ 1):\ \l\
  383. ret_10\ =\ calloc\ (nmemb_5(D),\ size_6(D));\l\
  384. 85\ \|\ \ \ \ \ \ \ \ \ ret\ =\ calloc(nmemb,\ size);\l\
  385. \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~~~~~~~~~~~~~~~~~~\l\
  386. \l\
  387. rmodel:\l\
  388. stack\ depth:\ 2\l\
  389. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  390. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  391. clusters\ within\ root\ region\l\
  392. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  393. \ \ \ \ ESCAPED\l\
  394. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  395. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  396. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  397. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  398. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  399. \ \ cluster\ for:\ size_6(D):\ (INIT_VAL(_2)+(size_t)1)\l\
  400. m_called_unknown_fn:\ FALSE\l\
  401. constraint_manager:\l\
  402. \ \ equiv\ classes:\l\
  403. \ \ \ \ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  404. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  405. \ \ \ \ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  406. \ \ \ \ ec3:\ \{INIT_VAL(str_6(D))\}\l\
  407. \ \ constraints:\l\
  408. \ \ \ \ 0:\ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  409. \ \ \ \ 1:\ ec3:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  410. \l\
  411. stmts:\ 1\l\
  412. \ \ 1:\ ret_10\ =\ calloc\ (nmemb_5(D),\ size_6(D));\l\
  413. "];
  414. exploded_node_65 [shape=none,margin=0,style=filled,fillcolor=coral,label="EN:\ 65\l\
  415. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  416. before\ (SN:\ 16\ stmt:\ 2):\ \l\
  417. #\ DEBUG\ ret\ =\>\ ret_10\l\
  418. 85\ \|\ \ \ \ \ \ \ \ \ ret\ =\ calloc(nmemb,\ size);\l\
  419. \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~~~~~~~~~~~~~~~~~~\l\
  420. \l\
  421. rmodel:\l\
  422. stack\ depth:\ 2\l\
  423. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  424. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  425. clusters\ within\ root\ region\l\
  426. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  427. \ \ \ \ ESCAPED\l\
  428. clusters\ within\ heap\ region\l\
  429. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(49)\l\
  430. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(49)\}\l\
  431. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  432. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  433. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  434. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  435. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  436. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(49)\l\
  437. m_called_unknown_fn:\ FALSE\l\
  438. constraint_manager:\l\
  439. \ \ equiv\ classes:\l\
  440. \ \ \ \ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  441. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  442. \ \ \ \ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  443. \ \ \ \ ec3:\ \{INIT_VAL(str_6(D))\}\l\
  444. \ \ constraints:\l\
  445. \ \ \ \ 0:\ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  446. \ \ \ \ 1:\ ec3:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  447. malloc:\ \l\
  448. \ \ 0x365af90:\ &HEAP_ALLOCATED_REGION(49):\ unchecked\ (\{free\})\ ('ret_10')\l\
  449. \l\
  450. stmts:\ 3\l\
  451. \ \ 2:\ #\ DEBUG\ ret\ =\>\ ret_10\l\
  452. \ \ 3:\ #\ DEBUG\ BEGIN_STMT\l\
  453. \ \ 4:\ if\ (ret_10\ ==\ 0B)\l\
  454. "];
  455. exploded_node_66 [shape=none,margin=0,style=filled,fillcolor=coral,label="EN:\ 66\l\
  456. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  457. after\ SN:\ 16\l\
  458. rmodel:\l\
  459. stack\ depth:\ 2\l\
  460. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  461. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  462. clusters\ within\ root\ region\l\
  463. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  464. \ \ \ \ ESCAPED\l\
  465. clusters\ within\ heap\ region\l\
  466. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(49)\l\
  467. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(49)\}\l\
  468. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  469. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  470. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  471. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  472. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  473. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(49)\l\
  474. m_called_unknown_fn:\ FALSE\l\
  475. constraint_manager:\l\
  476. \ \ equiv\ classes:\l\
  477. \ \ \ \ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  478. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  479. \ \ \ \ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  480. \ \ \ \ ec3:\ \{INIT_VAL(str_6(D))\}\l\
  481. \ \ constraints:\l\
  482. \ \ \ \ 0:\ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  483. \ \ \ \ 1:\ ec3:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  484. malloc:\ \l\
  485. \ \ 0x365af90:\ &HEAP_ALLOCATED_REGION(49):\ unchecked\ (\{free\})\ ('ret_10')\l\
  486. \l\
  487. "];
  488. }
  489. subgraph "cluster_supernode_17" {
  490. style="dashed";
  491. label="SN: 17 (bb: 5; scc: 17)";
  492. exploded_node_67 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 67\l\
  493. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  494. before\ SN:\ 17\ (from\ SN:\ 16)\l\
  495. \l\
  496. rmodel:\l\
  497. stack\ depth:\ 2\l\
  498. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  499. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  500. clusters\ within\ root\ region\l\
  501. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  502. \ \ \ \ ESCAPED\l\
  503. clusters\ within\ heap\ region\l\
  504. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(49)\l\
  505. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(49)\}\l\
  506. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  507. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  508. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  509. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  510. m_called_unknown_fn:\ FALSE\l\
  511. constraint_manager:\l\
  512. \ \ equiv\ classes:\l\
  513. \ \ \ \ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  514. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  515. \ \ \ \ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  516. \ \ \ \ ec3:\ \{INIT_VAL(str_6(D))\}\l\
  517. \ \ constraints:\l\
  518. \ \ \ \ 0:\ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  519. \ \ \ \ 1:\ ec3:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  520. \l\
  521. "];
  522. exploded_node_75 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 75\l\
  523. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  524. before\ (SN:\ 17\ stmt:\ 0):\ \l\
  525. #\ DEBUG\ BEGIN_STMT\l\
  526. 87\ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ printf(\"%s():\ no\ memory\\n\",\ __func__);\l\
  527. \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~~~~~\l\
  528. \l\
  529. rmodel:\l\
  530. stack\ depth:\ 2\l\
  531. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  532. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  533. clusters\ within\ root\ region\l\
  534. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  535. \ \ \ \ ESCAPED\l\
  536. clusters\ within\ heap\ region\l\
  537. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(49)\l\
  538. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(49)\}\l\
  539. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  540. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  541. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  542. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  543. m_called_unknown_fn:\ FALSE\l\
  544. constraint_manager:\l\
  545. \ \ equiv\ classes:\l\
  546. \ \ \ \ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  547. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  548. \ \ \ \ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  549. \ \ \ \ ec3:\ \{INIT_VAL(str_6(D))\}\l\
  550. \ \ constraints:\l\
  551. \ \ \ \ 0:\ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  552. \ \ \ \ 1:\ ec3:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  553. \l\
  554. stmts:\ 4\l\
  555. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  556. \ \ 1:\ printf\ (\"%s():\ no\ memory\\n\",\ &__func__);\l\
  557. \ \ 2:\ #\ DEBUG\ BEGIN_STMT\l\
  558. \ \ 3:\ exit\ (1);\l\
  559. "];
  560. exploded_node_76 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 76\l\
  561. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  562. after\ SN:\ 17\l\
  563. rmodel:\l\
  564. stack\ depth:\ 2\l\
  565. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  566. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  567. clusters\ within\ root\ region\l\
  568. \ \ cluster\ for:\ (*INIT_VAL(str_6(D))):\ CONJURED(exit\ (1);,\ (*INIT_VAL(str_6(D))))\ (ESCAPED)\ (TOUCHED)\l\
  569. clusters\ within\ heap\ region\l\
  570. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(49)\l\
  571. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(49)\}\l\
  572. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  573. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  574. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  575. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  576. m_called_unknown_fn:\ TRUE\l\
  577. constraint_manager:\l\
  578. \ \ equiv\ classes:\l\
  579. \ \ \ \ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  580. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  581. \ \ \ \ ec2:\ \{INIT_VAL(str_6(D))\}\l\
  582. \ \ constraints:\l\
  583. \ \ \ \ 0:\ ec2:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  584. \l\
  585. "];
  586. }
  587. subgraph "cluster_supernode_18" {
  588. style="dashed";
  589. label="SN: 18 (bb: 6; scc: 18)";
  590. exploded_node_68 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 68\l\
  591. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  592. before\ SN:\ 18\ (from\ SN:\ 16)\l\
  593. \l\
  594. rmodel:\l\
  595. stack\ depth:\ 2\l\
  596. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  597. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  598. clusters\ within\ root\ region\l\
  599. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  600. \ \ \ \ ESCAPED\l\
  601. clusters\ within\ heap\ region\l\
  602. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(49)\l\
  603. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(49)\}\l\
  604. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  605. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  606. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  607. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  608. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  609. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(49)\l\
  610. m_called_unknown_fn:\ FALSE\l\
  611. constraint_manager:\l\
  612. \ \ equiv\ classes:\l\
  613. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\l\
  614. \ \ \ \ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  615. \ \ \ \ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  616. \ \ \ \ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  617. \ \ \ \ ec4:\ \{INIT_VAL(str_6(D))\}\l\
  618. \ \ constraints:\l\
  619. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  620. \ \ \ \ 1:\ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  621. \ \ \ \ 2:\ ec4:\ \{INIT_VAL(str_6(D))\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  622. malloc:\ \l\
  623. \ \ 0x365af90:\ &HEAP_ALLOCATED_REGION(49):\ nonnull\ (\{free\})\ ('ret_10')\l\
  624. \l\
  625. "];
  626. exploded_node_79 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 79\l\
  627. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  628. before\ (SN:\ 18\ stmt:\ 0):\ \l\
  629. #\ DEBUG\ BEGIN_STMT\l\
  630. 90\ \|\ \ \ \ \ \ \ \ \ return\ (ret);\l\
  631. \ \ \ \|\ \ \ \ \ \ \ \ \ ^~~~~~\l\
  632. \l\
  633. rmodel:\l\
  634. stack\ depth:\ 2\l\
  635. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  636. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  637. clusters\ within\ root\ region\l\
  638. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  639. \ \ \ \ ESCAPED\l\
  640. clusters\ within\ heap\ region\l\
  641. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(49)\l\
  642. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(49)\}\l\
  643. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  644. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  645. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  646. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  647. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  648. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(49)\l\
  649. m_called_unknown_fn:\ FALSE\l\
  650. constraint_manager:\l\
  651. \ \ equiv\ classes:\l\
  652. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\l\
  653. \ \ \ \ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  654. \ \ \ \ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  655. \ \ \ \ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  656. \ \ \ \ ec4:\ \{INIT_VAL(str_6(D))\}\l\
  657. \ \ constraints:\l\
  658. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  659. \ \ \ \ 1:\ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  660. \ \ \ \ 2:\ ec4:\ \{INIT_VAL(str_6(D))\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  661. malloc:\ \l\
  662. \ \ 0x365af90:\ &HEAP_ALLOCATED_REGION(49):\ nonnull\ (\{free\})\ ('ret_10')\l\
  663. \l\
  664. stmts:\ 2\l\
  665. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  666. \ \ 1:\ return\ ret_10;\l\
  667. "];
  668. exploded_node_80 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 80\l\
  669. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  670. after\ SN:\ 18\l\
  671. rmodel:\l\
  672. stack\ depth:\ 2\l\
  673. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  674. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  675. clusters\ within\ root\ region\l\
  676. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  677. \ \ \ \ ESCAPED\l\
  678. clusters\ within\ heap\ region\l\
  679. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(49)\l\
  680. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(49)\}\l\
  681. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  682. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  683. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  684. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  685. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  686. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(49)\l\
  687. \ \ cluster\ for:\ \<anonymous\>:\ &HEAP_ALLOCATED_REGION(49)\l\
  688. m_called_unknown_fn:\ FALSE\l\
  689. constraint_manager:\l\
  690. \ \ equiv\ classes:\l\
  691. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\l\
  692. \ \ \ \ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  693. \ \ \ \ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  694. \ \ \ \ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  695. \ \ \ \ ec4:\ \{INIT_VAL(str_6(D))\}\l\
  696. \ \ constraints:\l\
  697. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  698. \ \ \ \ 1:\ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  699. \ \ \ \ 2:\ ec4:\ \{INIT_VAL(str_6(D))\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  700. malloc:\ \l\
  701. \ \ 0x365af90:\ &HEAP_ALLOCATED_REGION(49):\ nonnull\ (\{free\})\ ('ret_10')\l\
  702. \l\
  703. "];
  704. }
  705. subgraph "cluster_supernode_19" {
  706. style="dashed";
  707. label="SN: 19 (bb: 1; scc: 19)";
  708. exploded_node_81 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 81\l\
  709. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  710. before\ SN:\ 19\ (from\ SN:\ 18)\l\
  711. \l\
  712. rmodel:\l\
  713. stack\ depth:\ 2\l\
  714. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  715. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  716. clusters\ within\ root\ region\l\
  717. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  718. \ \ \ \ ESCAPED\l\
  719. clusters\ within\ heap\ region\l\
  720. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(49)\l\
  721. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(49)\}\l\
  722. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  723. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  724. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  725. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  726. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  727. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(49)\l\
  728. \ \ cluster\ for:\ \<anonymous\>:\ &HEAP_ALLOCATED_REGION(49)\l\
  729. m_called_unknown_fn:\ FALSE\l\
  730. constraint_manager:\l\
  731. \ \ equiv\ classes:\l\
  732. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\l\
  733. \ \ \ \ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  734. \ \ \ \ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  735. \ \ \ \ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  736. \ \ \ \ ec4:\ \{INIT_VAL(str_6(D))\}\l\
  737. \ \ constraints:\l\
  738. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  739. \ \ \ \ 1:\ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  740. \ \ \ \ 2:\ ec4:\ \{INIT_VAL(str_6(D))\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  741. malloc:\ \l\
  742. \ \ 0x365af90:\ &HEAP_ALLOCATED_REGION(49):\ nonnull\ (\{free\})\ ('ret_10')\l\
  743. \l\
  744. "];
  745. exploded_node_85 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 85\l\
  746. callstring:\ [(SN:\ 19\ -\>\ SN:\ 4\ in\ dp_strdup)]\l\
  747. after\ SN:\ 19\l\
  748. rmodel:\l\
  749. stack\ depth:\ 2\l\
  750. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  751. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  752. clusters\ within\ root\ region\l\
  753. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  754. \ \ \ \ ESCAPED\l\
  755. clusters\ within\ heap\ region\l\
  756. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(49)\l\
  757. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(49)\}\l\
  758. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  759. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  760. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  761. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  762. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  763. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(49)\l\
  764. \ \ cluster\ for:\ \<anonymous\>:\ &HEAP_ALLOCATED_REGION(49)\l\
  765. m_called_unknown_fn:\ FALSE\l\
  766. constraint_manager:\l\
  767. \ \ equiv\ classes:\l\
  768. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\l\
  769. \ \ \ \ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  770. \ \ \ \ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  771. \ \ \ \ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  772. \ \ \ \ ec4:\ \{INIT_VAL(str_6(D))\}\l\
  773. \ \ constraints:\l\
  774. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  775. \ \ \ \ 1:\ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  776. \ \ \ \ 2:\ ec4:\ \{INIT_VAL(str_6(D))\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  777. malloc:\ \l\
  778. \ \ 0x365af90:\ &HEAP_ALLOCATED_REGION(49):\ nonnull\ (\{free\})\ ('ret_10')\l\
  779. \l\
  780. "];
  781. }
  782. }
  783. subgraph "cluster_function_dp_calloc" {
  784. label="call string: [(SN: 19 -> SN: 24 in dp_malloc)] function: dp_calloc ";
  785. subgraph "cluster_supernode_13" {
  786. style="dashed";
  787. label="SN: 13 (bb: 0; scc: 13)";
  788. exploded_node_106 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 106\l\
  789. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  790. before\ SN:\ 13\ (NULL\ from-edge)\l\
  791. \l\
  792. rmodel:\l\
  793. stack\ depth:\ 2\l\
  794. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  795. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  796. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  797. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  798. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  799. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  800. \ \ cluster\ for:\ size_6(D):\ INIT_VAL(n_2(D))\l\
  801. m_called_unknown_fn:\ FALSE\l\
  802. constraint_manager:\l\
  803. \ \ equiv\ classes:\l\
  804. \ \ constraints:\l\
  805. \l\
  806. "];
  807. exploded_node_107 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 107\l\
  808. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  809. after\ SN:\ 13\l\
  810. rmodel:\l\
  811. stack\ depth:\ 2\l\
  812. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  813. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  814. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  815. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  816. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  817. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  818. \ \ cluster\ for:\ size_6(D):\ INIT_VAL(n_2(D))\l\
  819. m_called_unknown_fn:\ FALSE\l\
  820. constraint_manager:\l\
  821. \ \ equiv\ classes:\l\
  822. \ \ constraints:\l\
  823. \l\
  824. "];
  825. }
  826. subgraph "cluster_supernode_14" {
  827. style="dashed";
  828. label="SN: 14 (bb: 2; scc: 14)";
  829. exploded_node_108 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 108\l\
  830. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  831. before\ SN:\ 14\ (from\ SN:\ 13)\l\
  832. \l\
  833. rmodel:\l\
  834. stack\ depth:\ 2\l\
  835. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  836. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  837. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  838. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  839. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  840. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  841. \ \ cluster\ for:\ size_6(D):\ INIT_VAL(n_2(D))\l\
  842. m_called_unknown_fn:\ FALSE\l\
  843. constraint_manager:\l\
  844. \ \ equiv\ classes:\l\
  845. \ \ constraints:\l\
  846. \l\
  847. "];
  848. exploded_node_109 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 109\l\
  849. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  850. before\ (SN:\ 14\ stmt:\ 0):\ \l\
  851. #\ DEBUG\ BEGIN_STMT\l\
  852. 80\ \|\ \ \ \ \ \ \ \ \ void\ *ret\ =\ NULL;\l\
  853. \ \ \ \|\ \ \ \ \ \ \ \ \ ^~~~\l\
  854. \l\
  855. rmodel:\l\
  856. stack\ depth:\ 2\l\
  857. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  858. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  859. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  860. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  861. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  862. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  863. \ \ cluster\ for:\ size_6(D):\ INIT_VAL(n_2(D))\l\
  864. m_called_unknown_fn:\ FALSE\l\
  865. constraint_manager:\l\
  866. \ \ equiv\ classes:\l\
  867. \ \ constraints:\l\
  868. \l\
  869. stmts:\ 5\l\
  870. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  871. \ \ 1:\ #\ DEBUG\ ret\ =\>\ 0B\l\
  872. \ \ 2:\ #\ DEBUG\ BEGIN_STMT\l\
  873. \ \ 3:\ _1\ =\ nmemb_5(D)\ *\ size_6(D);\l\
  874. \ \ 4:\ if\ (_1\ ==\ 0)\l\
  875. "];
  876. exploded_node_110 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 110\l\
  877. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  878. after\ SN:\ 14\l\
  879. rmodel:\l\
  880. stack\ depth:\ 2\l\
  881. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  882. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  883. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  884. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  885. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  886. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  887. \ \ cluster\ for:\ size_6(D):\ INIT_VAL(n_2(D))\l\
  888. \ \ cluster\ for:\ _1:\ INIT_VAL(n_2(D))\l\
  889. m_called_unknown_fn:\ FALSE\l\
  890. constraint_manager:\l\
  891. \ \ equiv\ classes:\l\
  892. \ \ constraints:\l\
  893. \l\
  894. "];
  895. }
  896. subgraph "cluster_supernode_15" {
  897. style="dashed";
  898. label="SN: 15 (bb: 3; scc: 15)";
  899. exploded_node_111 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 111\l\
  900. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  901. before\ SN:\ 15\ (from\ SN:\ 14)\l\
  902. \l\
  903. rmodel:\l\
  904. stack\ depth:\ 2\l\
  905. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  906. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  907. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  908. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  909. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  910. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  911. \ \ cluster\ for:\ size_6(D):\ INIT_VAL(n_2(D))\l\
  912. m_called_unknown_fn:\ FALSE\l\
  913. constraint_manager:\l\
  914. \ \ equiv\ classes:\l\
  915. \ \ \ \ ec0:\ \{(size_t)0\ ==\ INIT_VAL(n_2(D))\ ==\ [m_constant]'0'\}\l\
  916. \ \ constraints:\l\
  917. \l\
  918. "];
  919. exploded_node_113 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 113\l\
  920. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  921. before\ (SN:\ 15\ stmt:\ 0):\ \l\
  922. #\ DEBUG\ BEGIN_STMT\l\
  923. 83\ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ printf(\"%s():\ nmemb=%d,\ size=%d\ 0\ bytes\\n\",\ __func__,\ (int)nmemb,\ (int)size);\l\
  924. \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~~~~~\l\
  925. \l\
  926. rmodel:\l\
  927. stack\ depth:\ 2\l\
  928. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  929. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  930. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  931. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  932. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  933. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  934. \ \ cluster\ for:\ size_6(D):\ INIT_VAL(n_2(D))\l\
  935. m_called_unknown_fn:\ FALSE\l\
  936. constraint_manager:\l\
  937. \ \ equiv\ classes:\l\
  938. \ \ \ \ ec0:\ \{(size_t)0\ ==\ INIT_VAL(n_2(D))\ ==\ [m_constant]'0'\}\l\
  939. \ \ constraints:\l\
  940. \l\
  941. stmts:\ 4\l\
  942. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  943. \ \ 1:\ _2\ =\ (int)\ size_6(D);\l\
  944. \ \ 2:\ _3\ =\ (int)\ nmemb_5(D);\l\
  945. \ \ 3:\ printf\ (\"%s():\ nmemb=%d,\ size=%d\ 0\ bytes\\n\",\ &__func__,\ _3,\ _2);\l\
  946. "];
  947. exploded_node_114 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 114\l\
  948. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  949. after\ SN:\ 15\l\
  950. rmodel:\l\
  951. stack\ depth:\ 2\l\
  952. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  953. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  954. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  955. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  956. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  957. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  958. \ \ cluster\ for:\ size_6(D):\ INIT_VAL(n_2(D))\l\
  959. \ \ cluster\ for:\ _2:\ INIT_VAL(n_2(D))\l\
  960. \ \ cluster\ for:\ _3:\ (int)1\l\
  961. m_called_unknown_fn:\ FALSE\l\
  962. constraint_manager:\l\
  963. \ \ equiv\ classes:\l\
  964. \ \ \ \ ec0:\ \{(size_t)0\ ==\ INIT_VAL(n_2(D))\ ==\ [m_constant]'0'\}\l\
  965. \ \ constraints:\l\
  966. \l\
  967. "];
  968. }
  969. subgraph "cluster_supernode_16" {
  970. style="dashed";
  971. label="SN: 16 (bb: 4; scc: 16)";
  972. exploded_node_112 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 112\ (bulk\ merged)\l\
  973. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  974. before\ SN:\ 16\ (from\ SN:\ 14)\l\
  975. .MEM_4\ =\ PHI\ \<.MEM_7(D)(2),\ .MEM_8(3)\>\l\
  976. rmodel:\l\
  977. stack\ depth:\ 2\l\
  978. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  979. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  980. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  981. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  982. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  983. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  984. \ \ cluster\ for:\ size_6(D):\ INIT_VAL(n_2(D))\l\
  985. m_called_unknown_fn:\ FALSE\l\
  986. constraint_manager:\l\
  987. \ \ equiv\ classes:\l\
  988. \ \ \ \ ec0:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  989. \ \ \ \ ec1:\ \{INIT_VAL(n_2(D))\}\l\
  990. \ \ constraints:\l\
  991. \ \ \ \ 0:\ ec1:\ \{INIT_VAL(n_2(D))\}\ !=\ ec0:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  992. \l\
  993. "];
  994. exploded_node_115 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 115\ (bulk\ merged)\l\
  995. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  996. before\ SN:\ 16\ (from\ SN:\ 15)\l\
  997. .MEM_4\ =\ PHI\ \<.MEM_7(D)(2),\ .MEM_8(3)\>\l\
  998. rmodel:\l\
  999. stack\ depth:\ 2\l\
  1000. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  1001. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  1002. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  1003. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  1004. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  1005. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  1006. \ \ cluster\ for:\ size_6(D):\ INIT_VAL(n_2(D))\l\
  1007. m_called_unknown_fn:\ FALSE\l\
  1008. constraint_manager:\l\
  1009. \ \ equiv\ classes:\l\
  1010. \ \ \ \ ec0:\ \{(size_t)0\ ==\ INIT_VAL(n_2(D))\ ==\ [m_constant]'0'\}\l\
  1011. \ \ constraints:\l\
  1012. \l\
  1013. "];
  1014. exploded_node_116 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 116\l\
  1015. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  1016. before\ (SN:\ 16\ stmt:\ 0):\ \l\
  1017. #\ DEBUG\ BEGIN_STMT\l\
  1018. 85\ \|\ \ \ \ \ \ \ \ \ ret\ =\ calloc(nmemb,\ size);\l\
  1019. \ \ \ \|\ \ \ \ \ \ \ \ \ ^~~\l\
  1020. \l\
  1021. rmodel:\l\
  1022. stack\ depth:\ 2\l\
  1023. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  1024. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  1025. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  1026. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  1027. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  1028. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  1029. \ \ cluster\ for:\ size_6(D):\ INIT_VAL(n_2(D))\l\
  1030. m_called_unknown_fn:\ FALSE\l\
  1031. constraint_manager:\l\
  1032. \ \ equiv\ classes:\l\
  1033. \ \ constraints:\l\
  1034. \l\
  1035. stmts:\ 1\l\
  1036. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  1037. "];
  1038. exploded_node_117 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 117\l\
  1039. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  1040. before\ (SN:\ 16\ stmt:\ 1):\ \l\
  1041. ret_10\ =\ calloc\ (nmemb_5(D),\ size_6(D));\l\
  1042. 85\ \|\ \ \ \ \ \ \ \ \ ret\ =\ calloc(nmemb,\ size);\l\
  1043. \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~~~~~~~~~~~~~~~~~~\l\
  1044. \l\
  1045. rmodel:\l\
  1046. stack\ depth:\ 2\l\
  1047. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  1048. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  1049. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  1050. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  1051. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  1052. \ \ cluster\ for:\ nmemb_5(D):\ (size_t)1\l\
  1053. \ \ cluster\ for:\ size_6(D):\ INIT_VAL(n_2(D))\l\
  1054. m_called_unknown_fn:\ FALSE\l\
  1055. constraint_manager:\l\
  1056. \ \ equiv\ classes:\l\
  1057. \ \ constraints:\l\
  1058. \l\
  1059. stmts:\ 1\l\
  1060. \ \ 1:\ ret_10\ =\ calloc\ (nmemb_5(D),\ size_6(D));\l\
  1061. "];
  1062. exploded_node_118 [shape=none,margin=0,style=filled,fillcolor=coral,label="EN:\ 118\l\
  1063. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  1064. before\ (SN:\ 16\ stmt:\ 2):\ \l\
  1065. #\ DEBUG\ ret\ =\>\ ret_10\l\
  1066. 85\ \|\ \ \ \ \ \ \ \ \ ret\ =\ calloc(nmemb,\ size);\l\
  1067. \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~~~~~~~~~~~~~~~~~~\l\
  1068. \l\
  1069. rmodel:\l\
  1070. stack\ depth:\ 2\l\
  1071. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  1072. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  1073. clusters\ within\ heap\ region\l\
  1074. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(69)\l\
  1075. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(69)\}\l\
  1076. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  1077. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  1078. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  1079. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  1080. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(69)\l\
  1081. m_called_unknown_fn:\ FALSE\l\
  1082. constraint_manager:\l\
  1083. \ \ equiv\ classes:\l\
  1084. \ \ constraints:\l\
  1085. malloc:\ \l\
  1086. \ \ 0x36845f0:\ &HEAP_ALLOCATED_REGION(69):\ unchecked\ (\{free\})\ ('ret_10')\l\
  1087. \l\
  1088. stmts:\ 3\l\
  1089. \ \ 2:\ #\ DEBUG\ ret\ =\>\ ret_10\l\
  1090. \ \ 3:\ #\ DEBUG\ BEGIN_STMT\l\
  1091. \ \ 4:\ if\ (ret_10\ ==\ 0B)\l\
  1092. "];
  1093. exploded_node_119 [shape=none,margin=0,style=filled,fillcolor=coral,label="EN:\ 119\l\
  1094. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  1095. after\ SN:\ 16\l\
  1096. rmodel:\l\
  1097. stack\ depth:\ 2\l\
  1098. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  1099. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  1100. clusters\ within\ heap\ region\l\
  1101. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(69)\l\
  1102. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(69)\}\l\
  1103. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  1104. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  1105. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  1106. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  1107. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(69)\l\
  1108. m_called_unknown_fn:\ FALSE\l\
  1109. constraint_manager:\l\
  1110. \ \ equiv\ classes:\l\
  1111. \ \ constraints:\l\
  1112. malloc:\ \l\
  1113. \ \ 0x36845f0:\ &HEAP_ALLOCATED_REGION(69):\ unchecked\ (\{free\})\ ('ret_10')\l\
  1114. \l\
  1115. "];
  1116. }
  1117. subgraph "cluster_supernode_17" {
  1118. style="dashed";
  1119. label="SN: 17 (bb: 5; scc: 17)";
  1120. exploded_node_120 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 120\l\
  1121. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  1122. before\ SN:\ 17\ (from\ SN:\ 16)\l\
  1123. \l\
  1124. rmodel:\l\
  1125. stack\ depth:\ 2\l\
  1126. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  1127. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  1128. clusters\ within\ heap\ region\l\
  1129. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(69)\l\
  1130. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(69)\}\l\
  1131. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  1132. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  1133. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  1134. m_called_unknown_fn:\ FALSE\l\
  1135. constraint_manager:\l\
  1136. \ \ equiv\ classes:\l\
  1137. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1138. \ \ constraints:\l\
  1139. \l\
  1140. "];
  1141. exploded_node_122 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 122\l\
  1142. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  1143. before\ (SN:\ 17\ stmt:\ 0):\ \l\
  1144. #\ DEBUG\ BEGIN_STMT\l\
  1145. 87\ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ printf(\"%s():\ no\ memory\\n\",\ __func__);\l\
  1146. \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~~~~~\l\
  1147. \l\
  1148. rmodel:\l\
  1149. stack\ depth:\ 2\l\
  1150. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  1151. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  1152. clusters\ within\ heap\ region\l\
  1153. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(69)\l\
  1154. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(69)\}\l\
  1155. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  1156. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  1157. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  1158. m_called_unknown_fn:\ FALSE\l\
  1159. constraint_manager:\l\
  1160. \ \ equiv\ classes:\l\
  1161. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1162. \ \ constraints:\l\
  1163. \l\
  1164. stmts:\ 4\l\
  1165. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  1166. \ \ 1:\ printf\ (\"%s():\ no\ memory\\n\",\ &__func__);\l\
  1167. \ \ 2:\ #\ DEBUG\ BEGIN_STMT\l\
  1168. \ \ 3:\ exit\ (1);\l\
  1169. "];
  1170. exploded_node_123 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 123\l\
  1171. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  1172. after\ SN:\ 17\l\
  1173. rmodel:\l\
  1174. stack\ depth:\ 2\l\
  1175. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  1176. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  1177. clusters\ within\ heap\ region\l\
  1178. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(69)\l\
  1179. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(69)\}\l\
  1180. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  1181. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  1182. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  1183. m_called_unknown_fn:\ TRUE\l\
  1184. constraint_manager:\l\
  1185. \ \ equiv\ classes:\l\
  1186. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1187. \ \ constraints:\l\
  1188. \l\
  1189. "];
  1190. }
  1191. subgraph "cluster_supernode_18" {
  1192. style="dashed";
  1193. label="SN: 18 (bb: 6; scc: 18)";
  1194. exploded_node_121 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 121\l\
  1195. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  1196. before\ SN:\ 18\ (from\ SN:\ 16)\l\
  1197. \l\
  1198. rmodel:\l\
  1199. stack\ depth:\ 2\l\
  1200. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  1201. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  1202. clusters\ within\ heap\ region\l\
  1203. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(69)\l\
  1204. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(69)\}\l\
  1205. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  1206. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  1207. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  1208. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  1209. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(69)\l\
  1210. m_called_unknown_fn:\ FALSE\l\
  1211. constraint_manager:\l\
  1212. \ \ equiv\ classes:\l\
  1213. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(69)\}\l\
  1214. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1215. \ \ constraints:\l\
  1216. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(69)\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1217. malloc:\ \l\
  1218. \ \ 0x36845f0:\ &HEAP_ALLOCATED_REGION(69):\ nonnull\ (\{free\})\ ('ret_10')\l\
  1219. \l\
  1220. "];
  1221. exploded_node_124 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 124\l\
  1222. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  1223. before\ (SN:\ 18\ stmt:\ 0):\ \l\
  1224. #\ DEBUG\ BEGIN_STMT\l\
  1225. 90\ \|\ \ \ \ \ \ \ \ \ return\ (ret);\l\
  1226. \ \ \ \|\ \ \ \ \ \ \ \ \ ^~~~~~\l\
  1227. \l\
  1228. rmodel:\l\
  1229. stack\ depth:\ 2\l\
  1230. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  1231. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  1232. clusters\ within\ heap\ region\l\
  1233. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(69)\l\
  1234. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(69)\}\l\
  1235. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  1236. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  1237. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  1238. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  1239. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(69)\l\
  1240. m_called_unknown_fn:\ FALSE\l\
  1241. constraint_manager:\l\
  1242. \ \ equiv\ classes:\l\
  1243. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(69)\}\l\
  1244. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1245. \ \ constraints:\l\
  1246. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(69)\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1247. malloc:\ \l\
  1248. \ \ 0x36845f0:\ &HEAP_ALLOCATED_REGION(69):\ nonnull\ (\{free\})\ ('ret_10')\l\
  1249. \l\
  1250. stmts:\ 2\l\
  1251. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  1252. \ \ 1:\ return\ ret_10;\l\
  1253. "];
  1254. exploded_node_125 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 125\l\
  1255. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  1256. after\ SN:\ 18\l\
  1257. rmodel:\l\
  1258. stack\ depth:\ 2\l\
  1259. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  1260. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  1261. clusters\ within\ heap\ region\l\
  1262. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(69)\l\
  1263. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(69)\}\l\
  1264. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  1265. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  1266. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  1267. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  1268. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(69)\l\
  1269. \ \ cluster\ for:\ \<anonymous\>:\ &HEAP_ALLOCATED_REGION(69)\l\
  1270. m_called_unknown_fn:\ FALSE\l\
  1271. constraint_manager:\l\
  1272. \ \ equiv\ classes:\l\
  1273. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(69)\}\l\
  1274. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1275. \ \ constraints:\l\
  1276. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(69)\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1277. malloc:\ \l\
  1278. \ \ 0x36845f0:\ &HEAP_ALLOCATED_REGION(69):\ nonnull\ (\{free\})\ ('ret_10')\l\
  1279. \l\
  1280. "];
  1281. }
  1282. subgraph "cluster_supernode_19" {
  1283. style="dashed";
  1284. label="SN: 19 (bb: 1; scc: 19)";
  1285. exploded_node_126 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 126\l\
  1286. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  1287. before\ SN:\ 19\ (from\ SN:\ 18)\l\
  1288. \l\
  1289. rmodel:\l\
  1290. stack\ depth:\ 2\l\
  1291. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  1292. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  1293. clusters\ within\ heap\ region\l\
  1294. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(69)\l\
  1295. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(69)\}\l\
  1296. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  1297. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  1298. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  1299. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  1300. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(69)\l\
  1301. \ \ cluster\ for:\ \<anonymous\>:\ &HEAP_ALLOCATED_REGION(69)\l\
  1302. m_called_unknown_fn:\ FALSE\l\
  1303. constraint_manager:\l\
  1304. \ \ equiv\ classes:\l\
  1305. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(69)\}\l\
  1306. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1307. \ \ constraints:\l\
  1308. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(69)\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1309. malloc:\ \l\
  1310. \ \ 0x36845f0:\ &HEAP_ALLOCATED_REGION(69):\ nonnull\ (\{free\})\ ('ret_10')\l\
  1311. \l\
  1312. "];
  1313. exploded_node_127 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 127\l\
  1314. callstring:\ [(SN:\ 19\ -\>\ SN:\ 24\ in\ dp_malloc)]\l\
  1315. after\ SN:\ 19\l\
  1316. rmodel:\l\
  1317. stack\ depth:\ 2\l\
  1318. \ \ frame\ (index\ 1):\ frame:\ 'dp_calloc'@2\l\
  1319. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  1320. clusters\ within\ heap\ region\l\
  1321. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(69)\l\
  1322. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(69)\}\l\
  1323. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  1324. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  1325. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  1326. clusters\ within\ frame:\ 'dp_calloc'@2\l\
  1327. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(69)\l\
  1328. \ \ cluster\ for:\ \<anonymous\>:\ &HEAP_ALLOCATED_REGION(69)\l\
  1329. m_called_unknown_fn:\ FALSE\l\
  1330. constraint_manager:\l\
  1331. \ \ equiv\ classes:\l\
  1332. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(69)\}\l\
  1333. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1334. \ \ constraints:\l\
  1335. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(69)\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1336. malloc:\ \l\
  1337. \ \ 0x36845f0:\ &HEAP_ALLOCATED_REGION(69):\ nonnull\ (\{free\})\ ('ret_10')\l\
  1338. \l\
  1339. "];
  1340. }
  1341. }
  1342. subgraph "cluster_function_dp_calloc" {
  1343. label="call string: [] function: dp_calloc ";
  1344. subgraph "cluster_supernode_13" {
  1345. style="dashed";
  1346. label="SN: 13 (bb: 0; scc: 13)";
  1347. exploded_node_3 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 3\l\
  1348. callstring:\ []\l\
  1349. before\ SN:\ 13\ (NULL\ from-edge)\l\
  1350. \l\
  1351. rmodel:\l\
  1352. stack\ depth:\ 1\l\
  1353. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1354. m_called_unknown_fn:\ FALSE\l\
  1355. constraint_manager:\l\
  1356. \ \ equiv\ classes:\l\
  1357. \ \ constraints:\l\
  1358. \l\
  1359. "];
  1360. exploded_node_47 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 47\l\
  1361. callstring:\ []\l\
  1362. after\ SN:\ 13\l\
  1363. rmodel:\l\
  1364. stack\ depth:\ 1\l\
  1365. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1366. m_called_unknown_fn:\ FALSE\l\
  1367. constraint_manager:\l\
  1368. \ \ equiv\ classes:\l\
  1369. \ \ constraints:\l\
  1370. \l\
  1371. "];
  1372. }
  1373. subgraph "cluster_supernode_14" {
  1374. style="dashed";
  1375. label="SN: 14 (bb: 2; scc: 14)";
  1376. exploded_node_48 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 48\l\
  1377. callstring:\ []\l\
  1378. before\ SN:\ 14\ (from\ SN:\ 13)\l\
  1379. \l\
  1380. rmodel:\l\
  1381. stack\ depth:\ 1\l\
  1382. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1383. m_called_unknown_fn:\ FALSE\l\
  1384. constraint_manager:\l\
  1385. \ \ equiv\ classes:\l\
  1386. \ \ constraints:\l\
  1387. \l\
  1388. "];
  1389. exploded_node_53 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 53\l\
  1390. callstring:\ []\l\
  1391. before\ (SN:\ 14\ stmt:\ 0):\ \l\
  1392. #\ DEBUG\ BEGIN_STMT\l\
  1393. 80\ \|\ \ \ \ \ \ \ \ \ void\ *ret\ =\ NULL;\l\
  1394. \ \ \ \|\ \ \ \ \ \ \ \ \ ^~~~\l\
  1395. \l\
  1396. rmodel:\l\
  1397. stack\ depth:\ 1\l\
  1398. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1399. m_called_unknown_fn:\ FALSE\l\
  1400. constraint_manager:\l\
  1401. \ \ equiv\ classes:\l\
  1402. \ \ constraints:\l\
  1403. \l\
  1404. stmts:\ 5\l\
  1405. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  1406. \ \ 1:\ #\ DEBUG\ ret\ =\>\ 0B\l\
  1407. \ \ 2:\ #\ DEBUG\ BEGIN_STMT\l\
  1408. \ \ 3:\ _1\ =\ nmemb_5(D)\ *\ size_6(D);\l\
  1409. \ \ 4:\ if\ (_1\ ==\ 0)\l\
  1410. "];
  1411. exploded_node_54 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 54\l\
  1412. callstring:\ []\l\
  1413. after\ SN:\ 14\l\
  1414. rmodel:\l\
  1415. stack\ depth:\ 1\l\
  1416. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1417. clusters\ within\ frame:\ 'dp_calloc'@1\l\
  1418. \ \ cluster\ for:\ _1:\ (INIT_VAL(nmemb_5(D))*INIT_VAL(size_6(D)))\l\
  1419. m_called_unknown_fn:\ FALSE\l\
  1420. constraint_manager:\l\
  1421. \ \ equiv\ classes:\l\
  1422. \ \ constraints:\l\
  1423. \l\
  1424. "];
  1425. }
  1426. subgraph "cluster_supernode_15" {
  1427. style="dashed";
  1428. label="SN: 15 (bb: 3; scc: 15)";
  1429. exploded_node_55 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 55\l\
  1430. callstring:\ []\l\
  1431. before\ SN:\ 15\ (from\ SN:\ 14)\l\
  1432. \l\
  1433. rmodel:\l\
  1434. stack\ depth:\ 1\l\
  1435. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1436. m_called_unknown_fn:\ FALSE\l\
  1437. constraint_manager:\l\
  1438. \ \ equiv\ classes:\l\
  1439. \ \ \ \ ec0:\ \{(size_t)0\ ==\ (INIT_VAL(nmemb_5(D))*INIT_VAL(size_6(D)))\ ==\ [m_constant]'0'\}\l\
  1440. \ \ constraints:\l\
  1441. \l\
  1442. "];
  1443. exploded_node_60 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 60\l\
  1444. callstring:\ []\l\
  1445. before\ (SN:\ 15\ stmt:\ 0):\ \l\
  1446. #\ DEBUG\ BEGIN_STMT\l\
  1447. 83\ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ printf(\"%s():\ nmemb=%d,\ size=%d\ 0\ bytes\\n\",\ __func__,\ (int)nmemb,\ (int)size);\l\
  1448. \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~~~~~\l\
  1449. \l\
  1450. rmodel:\l\
  1451. stack\ depth:\ 1\l\
  1452. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1453. m_called_unknown_fn:\ FALSE\l\
  1454. constraint_manager:\l\
  1455. \ \ equiv\ classes:\l\
  1456. \ \ \ \ ec0:\ \{(size_t)0\ ==\ (INIT_VAL(nmemb_5(D))*INIT_VAL(size_6(D)))\ ==\ [m_constant]'0'\}\l\
  1457. \ \ constraints:\l\
  1458. \l\
  1459. stmts:\ 4\l\
  1460. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  1461. \ \ 1:\ _2\ =\ (int)\ size_6(D);\l\
  1462. \ \ 2:\ _3\ =\ (int)\ nmemb_5(D);\l\
  1463. \ \ 3:\ printf\ (\"%s():\ nmemb=%d,\ size=%d\ 0\ bytes\\n\",\ &__func__,\ _3,\ _2);\l\
  1464. "];
  1465. exploded_node_61 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 61\l\
  1466. callstring:\ []\l\
  1467. after\ SN:\ 15\l\
  1468. rmodel:\l\
  1469. stack\ depth:\ 1\l\
  1470. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1471. clusters\ within\ frame:\ 'dp_calloc'@1\l\
  1472. \ \ cluster\ for:\ _2:\ INIT_VAL(size_6(D))\l\
  1473. \ \ cluster\ for:\ _3:\ INIT_VAL(nmemb_5(D))\l\
  1474. m_called_unknown_fn:\ FALSE\l\
  1475. constraint_manager:\l\
  1476. \ \ equiv\ classes:\l\
  1477. \ \ \ \ ec0:\ \{(size_t)0\ ==\ (INIT_VAL(nmemb_5(D))*INIT_VAL(size_6(D)))\ ==\ [m_constant]'0'\}\l\
  1478. \ \ constraints:\l\
  1479. \l\
  1480. "];
  1481. }
  1482. subgraph "cluster_supernode_16" {
  1483. style="dashed";
  1484. label="SN: 16 (bb: 4; scc: 16)";
  1485. exploded_node_56 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 56\ (bulk\ merged)\l\
  1486. callstring:\ []\l\
  1487. before\ SN:\ 16\ (from\ SN:\ 14)\l\
  1488. .MEM_4\ =\ PHI\ \<.MEM_7(D)(2),\ .MEM_8(3)\>\l\
  1489. rmodel:\l\
  1490. stack\ depth:\ 1\l\
  1491. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1492. m_called_unknown_fn:\ FALSE\l\
  1493. constraint_manager:\l\
  1494. \ \ equiv\ classes:\l\
  1495. \ \ \ \ ec0:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  1496. \ \ \ \ ec1:\ \{(INIT_VAL(nmemb_5(D))*INIT_VAL(size_6(D)))\}\l\
  1497. \ \ constraints:\l\
  1498. \ \ \ \ 0:\ ec1:\ \{(INIT_VAL(nmemb_5(D))*INIT_VAL(size_6(D)))\}\ !=\ ec0:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  1499. \l\
  1500. "];
  1501. exploded_node_62 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 62\ (bulk\ merged)\l\
  1502. callstring:\ []\l\
  1503. before\ SN:\ 16\ (from\ SN:\ 15)\l\
  1504. .MEM_4\ =\ PHI\ \<.MEM_7(D)(2),\ .MEM_8(3)\>\l\
  1505. rmodel:\l\
  1506. stack\ depth:\ 1\l\
  1507. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1508. m_called_unknown_fn:\ FALSE\l\
  1509. constraint_manager:\l\
  1510. \ \ equiv\ classes:\l\
  1511. \ \ \ \ ec0:\ \{(size_t)0\ ==\ (INIT_VAL(nmemb_5(D))*INIT_VAL(size_6(D)))\ ==\ [m_constant]'0'\}\l\
  1512. \ \ constraints:\l\
  1513. \l\
  1514. "];
  1515. exploded_node_69 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 69\l\
  1516. callstring:\ []\l\
  1517. before\ (SN:\ 16\ stmt:\ 0):\ \l\
  1518. #\ DEBUG\ BEGIN_STMT\l\
  1519. 85\ \|\ \ \ \ \ \ \ \ \ ret\ =\ calloc(nmemb,\ size);\l\
  1520. \ \ \ \|\ \ \ \ \ \ \ \ \ ^~~\l\
  1521. \l\
  1522. rmodel:\l\
  1523. stack\ depth:\ 1\l\
  1524. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1525. m_called_unknown_fn:\ FALSE\l\
  1526. constraint_manager:\l\
  1527. \ \ equiv\ classes:\l\
  1528. \ \ constraints:\l\
  1529. \l\
  1530. stmts:\ 1\l\
  1531. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  1532. "];
  1533. exploded_node_70 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 70\l\
  1534. callstring:\ []\l\
  1535. before\ (SN:\ 16\ stmt:\ 1):\ \l\
  1536. ret_10\ =\ calloc\ (nmemb_5(D),\ size_6(D));\l\
  1537. 85\ \|\ \ \ \ \ \ \ \ \ ret\ =\ calloc(nmemb,\ size);\l\
  1538. \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~~~~~~~~~~~~~~~~~~\l\
  1539. \l\
  1540. rmodel:\l\
  1541. stack\ depth:\ 1\l\
  1542. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1543. m_called_unknown_fn:\ FALSE\l\
  1544. constraint_manager:\l\
  1545. \ \ equiv\ classes:\l\
  1546. \ \ constraints:\l\
  1547. \l\
  1548. stmts:\ 1\l\
  1549. \ \ 1:\ ret_10\ =\ calloc\ (nmemb_5(D),\ size_6(D));\l\
  1550. "];
  1551. exploded_node_71 [shape=none,margin=0,style=filled,fillcolor=coral,label="EN:\ 71\l\
  1552. callstring:\ []\l\
  1553. before\ (SN:\ 16\ stmt:\ 2):\ \l\
  1554. #\ DEBUG\ ret\ =\>\ ret_10\l\
  1555. 85\ \|\ \ \ \ \ \ \ \ \ ret\ =\ calloc(nmemb,\ size);\l\
  1556. \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~~~~~~~~~~~~~~~~~~\l\
  1557. \l\
  1558. rmodel:\l\
  1559. stack\ depth:\ 1\l\
  1560. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1561. clusters\ within\ heap\ region\l\
  1562. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(52)\l\
  1563. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(52)\}\l\
  1564. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  1565. clusters\ within\ frame:\ 'dp_calloc'@1\l\
  1566. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(52)\l\
  1567. m_called_unknown_fn:\ FALSE\l\
  1568. constraint_manager:\l\
  1569. \ \ equiv\ classes:\l\
  1570. \ \ constraints:\l\
  1571. malloc:\ \l\
  1572. \ \ 0x3663570:\ &HEAP_ALLOCATED_REGION(52):\ unchecked\ (\{free\})\ ('ret_10')\l\
  1573. \l\
  1574. stmts:\ 3\l\
  1575. \ \ 2:\ #\ DEBUG\ ret\ =\>\ ret_10\l\
  1576. \ \ 3:\ #\ DEBUG\ BEGIN_STMT\l\
  1577. \ \ 4:\ if\ (ret_10\ ==\ 0B)\l\
  1578. "];
  1579. exploded_node_72 [shape=none,margin=0,style=filled,fillcolor=coral,label="EN:\ 72\l\
  1580. callstring:\ []\l\
  1581. after\ SN:\ 16\l\
  1582. rmodel:\l\
  1583. stack\ depth:\ 1\l\
  1584. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1585. clusters\ within\ heap\ region\l\
  1586. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(52)\l\
  1587. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(52)\}\l\
  1588. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  1589. clusters\ within\ frame:\ 'dp_calloc'@1\l\
  1590. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(52)\l\
  1591. m_called_unknown_fn:\ FALSE\l\
  1592. constraint_manager:\l\
  1593. \ \ equiv\ classes:\l\
  1594. \ \ constraints:\l\
  1595. malloc:\ \l\
  1596. \ \ 0x3663570:\ &HEAP_ALLOCATED_REGION(52):\ unchecked\ (\{free\})\ ('ret_10')\l\
  1597. \l\
  1598. "];
  1599. }
  1600. subgraph "cluster_supernode_17" {
  1601. style="dashed";
  1602. label="SN: 17 (bb: 5; scc: 17)";
  1603. exploded_node_73 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 73\l\
  1604. callstring:\ []\l\
  1605. before\ SN:\ 17\ (from\ SN:\ 16)\l\
  1606. \l\
  1607. rmodel:\l\
  1608. stack\ depth:\ 1\l\
  1609. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1610. clusters\ within\ heap\ region\l\
  1611. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(52)\l\
  1612. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(52)\}\l\
  1613. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  1614. m_called_unknown_fn:\ FALSE\l\
  1615. constraint_manager:\l\
  1616. \ \ equiv\ classes:\l\
  1617. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1618. \ \ constraints:\l\
  1619. \l\
  1620. "];
  1621. exploded_node_77 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 77\l\
  1622. callstring:\ []\l\
  1623. before\ (SN:\ 17\ stmt:\ 0):\ \l\
  1624. #\ DEBUG\ BEGIN_STMT\l\
  1625. 87\ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ printf(\"%s():\ no\ memory\\n\",\ __func__);\l\
  1626. \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~~~~~\l\
  1627. \l\
  1628. rmodel:\l\
  1629. stack\ depth:\ 1\l\
  1630. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1631. clusters\ within\ heap\ region\l\
  1632. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(52)\l\
  1633. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(52)\}\l\
  1634. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  1635. m_called_unknown_fn:\ FALSE\l\
  1636. constraint_manager:\l\
  1637. \ \ equiv\ classes:\l\
  1638. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1639. \ \ constraints:\l\
  1640. \l\
  1641. stmts:\ 4\l\
  1642. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  1643. \ \ 1:\ printf\ (\"%s():\ no\ memory\\n\",\ &__func__);\l\
  1644. \ \ 2:\ #\ DEBUG\ BEGIN_STMT\l\
  1645. \ \ 3:\ exit\ (1);\l\
  1646. "];
  1647. exploded_node_78 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 78\l\
  1648. callstring:\ []\l\
  1649. after\ SN:\ 17\l\
  1650. rmodel:\l\
  1651. stack\ depth:\ 1\l\
  1652. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1653. clusters\ within\ heap\ region\l\
  1654. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(52)\l\
  1655. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(52)\}\l\
  1656. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  1657. m_called_unknown_fn:\ TRUE\l\
  1658. constraint_manager:\l\
  1659. \ \ equiv\ classes:\l\
  1660. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1661. \ \ constraints:\l\
  1662. \l\
  1663. "];
  1664. }
  1665. subgraph "cluster_supernode_18" {
  1666. style="dashed";
  1667. label="SN: 18 (bb: 6; scc: 18)";
  1668. exploded_node_74 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 74\l\
  1669. callstring:\ []\l\
  1670. before\ SN:\ 18\ (from\ SN:\ 16)\l\
  1671. \l\
  1672. rmodel:\l\
  1673. stack\ depth:\ 1\l\
  1674. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1675. clusters\ within\ heap\ region\l\
  1676. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(52)\l\
  1677. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(52)\}\l\
  1678. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  1679. clusters\ within\ frame:\ 'dp_calloc'@1\l\
  1680. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(52)\l\
  1681. m_called_unknown_fn:\ FALSE\l\
  1682. constraint_manager:\l\
  1683. \ \ equiv\ classes:\l\
  1684. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(52)\}\l\
  1685. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1686. \ \ constraints:\l\
  1687. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(52)\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1688. malloc:\ \l\
  1689. \ \ 0x3663570:\ &HEAP_ALLOCATED_REGION(52):\ nonnull\ (\{free\})\ ('ret_10')\l\
  1690. \l\
  1691. "];
  1692. exploded_node_82 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 82\l\
  1693. callstring:\ []\l\
  1694. before\ (SN:\ 18\ stmt:\ 0):\ \l\
  1695. #\ DEBUG\ BEGIN_STMT\l\
  1696. 90\ \|\ \ \ \ \ \ \ \ \ return\ (ret);\l\
  1697. \ \ \ \|\ \ \ \ \ \ \ \ \ ^~~~~~\l\
  1698. \l\
  1699. rmodel:\l\
  1700. stack\ depth:\ 1\l\
  1701. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1702. clusters\ within\ heap\ region\l\
  1703. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(52)\l\
  1704. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(52)\}\l\
  1705. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  1706. clusters\ within\ frame:\ 'dp_calloc'@1\l\
  1707. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(52)\l\
  1708. m_called_unknown_fn:\ FALSE\l\
  1709. constraint_manager:\l\
  1710. \ \ equiv\ classes:\l\
  1711. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(52)\}\l\
  1712. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1713. \ \ constraints:\l\
  1714. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(52)\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1715. malloc:\ \l\
  1716. \ \ 0x3663570:\ &HEAP_ALLOCATED_REGION(52):\ nonnull\ (\{free\})\ ('ret_10')\l\
  1717. \l\
  1718. stmts:\ 2\l\
  1719. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  1720. \ \ 1:\ return\ ret_10;\l\
  1721. "];
  1722. exploded_node_83 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 83\l\
  1723. callstring:\ []\l\
  1724. after\ SN:\ 18\l\
  1725. rmodel:\l\
  1726. stack\ depth:\ 1\l\
  1727. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1728. clusters\ within\ heap\ region\l\
  1729. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(52)\l\
  1730. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(52)\}\l\
  1731. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  1732. clusters\ within\ frame:\ 'dp_calloc'@1\l\
  1733. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(52)\l\
  1734. \ \ cluster\ for:\ \<anonymous\>:\ &HEAP_ALLOCATED_REGION(52)\l\
  1735. m_called_unknown_fn:\ FALSE\l\
  1736. constraint_manager:\l\
  1737. \ \ equiv\ classes:\l\
  1738. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(52)\}\l\
  1739. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1740. \ \ constraints:\l\
  1741. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(52)\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1742. malloc:\ \l\
  1743. \ \ 0x3663570:\ &HEAP_ALLOCATED_REGION(52):\ nonnull\ (\{free\})\ ('ret_10')\l\
  1744. \l\
  1745. "];
  1746. }
  1747. subgraph "cluster_supernode_19" {
  1748. style="dashed";
  1749. label="SN: 19 (bb: 1; scc: 19)";
  1750. exploded_node_84 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 84\l\
  1751. callstring:\ []\l\
  1752. before\ SN:\ 19\ (from\ SN:\ 18)\l\
  1753. \l\
  1754. rmodel:\l\
  1755. stack\ depth:\ 1\l\
  1756. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1757. clusters\ within\ heap\ region\l\
  1758. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(52)\l\
  1759. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(52)\}\l\
  1760. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  1761. clusters\ within\ frame:\ 'dp_calloc'@1\l\
  1762. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(52)\l\
  1763. \ \ cluster\ for:\ \<anonymous\>:\ &HEAP_ALLOCATED_REGION(52)\l\
  1764. m_called_unknown_fn:\ FALSE\l\
  1765. constraint_manager:\l\
  1766. \ \ equiv\ classes:\l\
  1767. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(52)\}\l\
  1768. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1769. \ \ constraints:\l\
  1770. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(52)\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1771. malloc:\ \l\
  1772. \ \ 0x3663570:\ &HEAP_ALLOCATED_REGION(52):\ nonnull\ (\{free\})\ ('ret_10')\l\
  1773. \l\
  1774. "];
  1775. exploded_node_94 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 94\l\
  1776. callstring:\ []\l\
  1777. after\ SN:\ 19\l\
  1778. rmodel:\l\
  1779. stack\ depth:\ 1\l\
  1780. \ \ frame\ (index\ 0):\ frame:\ 'dp_calloc'@1\l\
  1781. clusters\ within\ heap\ region\l\
  1782. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(52)\l\
  1783. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(52)\}\l\
  1784. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  1785. clusters\ within\ frame:\ 'dp_calloc'@1\l\
  1786. \ \ cluster\ for:\ ret_10:\ &HEAP_ALLOCATED_REGION(52)\l\
  1787. \ \ cluster\ for:\ \<anonymous\>:\ &HEAP_ALLOCATED_REGION(52)\l\
  1788. m_called_unknown_fn:\ FALSE\l\
  1789. constraint_manager:\l\
  1790. \ \ equiv\ classes:\l\
  1791. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(52)\}\l\
  1792. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1793. \ \ constraints:\l\
  1794. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(52)\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1795. malloc:\ \l\
  1796. \ \ 0x3663570:\ &HEAP_ALLOCATED_REGION(52):\ nonnull\ (\{free\})\ ('ret_10')\l\
  1797. \l\
  1798. "];
  1799. }
  1800. }
  1801. subgraph "cluster_function_dp_free" {
  1802. label="call string: [] function: dp_free ";
  1803. subgraph "cluster_supernode_26" {
  1804. style="dashed";
  1805. label="SN: 26 (bb: 0; scc: 26)";
  1806. exploded_node_5 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 5\l\
  1807. callstring:\ []\l\
  1808. before\ SN:\ 26\ (NULL\ from-edge)\l\
  1809. \l\
  1810. rmodel:\l\
  1811. stack\ depth:\ 1\l\
  1812. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  1813. clusters\ within\ root\ region\l\
  1814. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  1815. \ \ \ \ ESCAPED\l\
  1816. m_called_unknown_fn:\ FALSE\l\
  1817. constraint_manager:\l\
  1818. \ \ equiv\ classes:\l\
  1819. \ \ constraints:\l\
  1820. \l\
  1821. "];
  1822. exploded_node_133 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 133\l\
  1823. callstring:\ []\l\
  1824. after\ SN:\ 26\l\
  1825. rmodel:\l\
  1826. stack\ depth:\ 1\l\
  1827. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  1828. clusters\ within\ root\ region\l\
  1829. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  1830. \ \ \ \ ESCAPED\l\
  1831. m_called_unknown_fn:\ FALSE\l\
  1832. constraint_manager:\l\
  1833. \ \ equiv\ classes:\l\
  1834. \ \ constraints:\l\
  1835. \l\
  1836. "];
  1837. }
  1838. subgraph "cluster_supernode_27" {
  1839. style="dashed";
  1840. label="SN: 27 (bb: 2; scc: 27)";
  1841. exploded_node_134 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 134\l\
  1842. callstring:\ []\l\
  1843. before\ SN:\ 27\ (from\ SN:\ 26)\l\
  1844. \l\
  1845. rmodel:\l\
  1846. stack\ depth:\ 1\l\
  1847. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  1848. clusters\ within\ root\ region\l\
  1849. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  1850. \ \ \ \ ESCAPED\l\
  1851. m_called_unknown_fn:\ FALSE\l\
  1852. constraint_manager:\l\
  1853. \ \ equiv\ classes:\l\
  1854. \ \ constraints:\l\
  1855. \l\
  1856. "];
  1857. exploded_node_135 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 135\l\
  1858. callstring:\ []\l\
  1859. before\ (SN:\ 27\ stmt:\ 0):\ \l\
  1860. #\ DEBUG\ BEGIN_STMT\l\
  1861. 54\ \|\ \ \ \ \ \ \ \ \ char\ *p\ =\ NULL;\l\
  1862. \ \ \ \|\ \ \ \ \ \ \ \ \ ^~~~\l\
  1863. \l\
  1864. rmodel:\l\
  1865. stack\ depth:\ 1\l\
  1866. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  1867. clusters\ within\ root\ region\l\
  1868. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  1869. \ \ \ \ ESCAPED\l\
  1870. m_called_unknown_fn:\ FALSE\l\
  1871. constraint_manager:\l\
  1872. \ \ equiv\ classes:\l\
  1873. \ \ constraints:\l\
  1874. \l\
  1875. stmts:\ 4\l\
  1876. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  1877. \ \ 1:\ #\ DEBUG\ p\ =\>\ 0B\l\
  1878. \ \ 2:\ #\ DEBUG\ BEGIN_STMT\l\
  1879. \ \ 3:\ if\ (ptr_2(D)\ !=\ 0B)\l\
  1880. "];
  1881. exploded_node_136 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 136\l\
  1882. callstring:\ []\l\
  1883. after\ SN:\ 27\l\
  1884. rmodel:\l\
  1885. stack\ depth:\ 1\l\
  1886. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  1887. clusters\ within\ root\ region\l\
  1888. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  1889. \ \ \ \ ESCAPED\l\
  1890. m_called_unknown_fn:\ FALSE\l\
  1891. constraint_manager:\l\
  1892. \ \ equiv\ classes:\l\
  1893. \ \ constraints:\l\
  1894. \l\
  1895. "];
  1896. }
  1897. subgraph "cluster_supernode_28" {
  1898. style="dashed";
  1899. label="SN: 28 (bb: 3; scc: 28)";
  1900. exploded_node_137 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 137\l\
  1901. callstring:\ []\l\
  1902. before\ SN:\ 28\ (from\ SN:\ 27)\l\
  1903. \l\
  1904. rmodel:\l\
  1905. stack\ depth:\ 1\l\
  1906. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  1907. clusters\ within\ root\ region\l\
  1908. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  1909. \ \ \ \ ESCAPED\l\
  1910. m_called_unknown_fn:\ FALSE\l\
  1911. constraint_manager:\l\
  1912. \ \ equiv\ classes:\l\
  1913. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1914. \ \ \ \ ec1:\ \{INIT_VAL(ptr_2(D))\}\l\
  1915. \ \ constraints:\l\
  1916. \ \ \ \ 0:\ ec1:\ \{INIT_VAL(ptr_2(D))\}\ !=\ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1917. \l\
  1918. "];
  1919. exploded_node_139 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 139\l\
  1920. callstring:\ []\l\
  1921. before\ (SN:\ 28\ stmt:\ 0):\ \l\
  1922. #\ DEBUG\ BEGIN_STMT\l\
  1923. 56\ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ free(ptr);\l\
  1924. \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~~~\l\
  1925. \l\
  1926. rmodel:\l\
  1927. stack\ depth:\ 1\l\
  1928. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  1929. clusters\ within\ root\ region\l\
  1930. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  1931. \ \ \ \ ESCAPED\l\
  1932. m_called_unknown_fn:\ FALSE\l\
  1933. constraint_manager:\l\
  1934. \ \ equiv\ classes:\l\
  1935. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1936. \ \ \ \ ec1:\ \{INIT_VAL(ptr_2(D))\}\l\
  1937. \ \ constraints:\l\
  1938. \ \ \ \ 0:\ ec1:\ \{INIT_VAL(ptr_2(D))\}\ !=\ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1939. \l\
  1940. stmts:\ 1\l\
  1941. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  1942. "];
  1943. exploded_node_140 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 140\l\
  1944. callstring:\ []\l\
  1945. before\ (SN:\ 28\ stmt:\ 1):\ \l\
  1946. free\ (ptr_2(D));\l\
  1947. 56\ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ free(ptr);\l\
  1948. \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~~~~~~~~\l\
  1949. \l\
  1950. rmodel:\l\
  1951. stack\ depth:\ 1\l\
  1952. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  1953. clusters\ within\ root\ region\l\
  1954. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  1955. \ \ \ \ ESCAPED\l\
  1956. m_called_unknown_fn:\ FALSE\l\
  1957. constraint_manager:\l\
  1958. \ \ equiv\ classes:\l\
  1959. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1960. \ \ \ \ ec1:\ \{INIT_VAL(ptr_2(D))\}\l\
  1961. \ \ constraints:\l\
  1962. \ \ \ \ 0:\ ec1:\ \{INIT_VAL(ptr_2(D))\}\ !=\ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1963. \l\
  1964. stmts:\ 1\l\
  1965. \ \ 1:\ free\ (ptr_2(D));\l\
  1966. "];
  1967. exploded_node_141 [shape=none,margin=0,style=filled,fillcolor=lightblue,label="EN:\ 141\l\
  1968. callstring:\ []\l\
  1969. after\ SN:\ 28\l\
  1970. rmodel:\l\
  1971. stack\ depth:\ 1\l\
  1972. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  1973. clusters\ within\ root\ region\l\
  1974. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  1975. \ \ \ \ ESCAPED\l\
  1976. m_called_unknown_fn:\ FALSE\l\
  1977. constraint_manager:\l\
  1978. \ \ equiv\ classes:\l\
  1979. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1980. \ \ \ \ ec1:\ \{INIT_VAL(ptr_2(D))\}\l\
  1981. \ \ constraints:\l\
  1982. \ \ \ \ 0:\ ec1:\ \{INIT_VAL(ptr_2(D))\}\ !=\ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  1983. malloc:\ \l\
  1984. \ \ 0x36292f0:\ INIT_VAL(ptr_2(D)):\ freed\ ('ptr_2(D)')\l\
  1985. \l\
  1986. "];
  1987. }
  1988. subgraph "cluster_supernode_29" {
  1989. style="dashed";
  1990. label="SN: 29 (bb: 4; scc: 29)";
  1991. exploded_node_138 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 138\l\
  1992. callstring:\ []\l\
  1993. before\ SN:\ 29\ (from\ SN:\ 27)\l\
  1994. \l\
  1995. rmodel:\l\
  1996. stack\ depth:\ 1\l\
  1997. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  1998. clusters\ within\ root\ region\l\
  1999. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2000. \ \ \ \ ESCAPED\l\
  2001. m_called_unknown_fn:\ FALSE\l\
  2002. constraint_manager:\l\
  2003. \ \ equiv\ classes:\l\
  2004. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ INIT_VAL(ptr_2(D))\ ==\ [m_constant]'0B'\}\l\
  2005. \ \ constraints:\l\
  2006. \l\
  2007. "];
  2008. exploded_node_143 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 143\l\
  2009. callstring:\ []\l\
  2010. before\ (SN:\ 29\ stmt:\ 0):\ \l\
  2011. #\ DEBUG\ BEGIN_STMT\l\
  2012. 58\ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ printf(\"%s():\ nil\ ptr\\n\",\ __func__);\l\
  2013. \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~~~~~\l\
  2014. \l\
  2015. rmodel:\l\
  2016. stack\ depth:\ 1\l\
  2017. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  2018. clusters\ within\ root\ region\l\
  2019. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2020. \ \ \ \ ESCAPED\l\
  2021. m_called_unknown_fn:\ FALSE\l\
  2022. constraint_manager:\l\
  2023. \ \ equiv\ classes:\l\
  2024. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ INIT_VAL(ptr_2(D))\ ==\ [m_constant]'0B'\}\l\
  2025. \ \ constraints:\l\
  2026. \l\
  2027. stmts:\ 3\l\
  2028. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  2029. \ \ 1:\ printf\ (\"%s():\ nil\ ptr\\n\",\ &__func__);\l\
  2030. \ \ 2:\ #\ DEBUG\ BEGIN_STMT\l\
  2031. "];
  2032. exploded_node_144 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 144\l\
  2033. callstring:\ []\l\
  2034. after\ SN:\ 29\l\
  2035. rmodel:\l\
  2036. stack\ depth:\ 1\l\
  2037. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  2038. clusters\ within\ root\ region\l\
  2039. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2040. \ \ \ \ ESCAPED\l\
  2041. m_called_unknown_fn:\ FALSE\l\
  2042. constraint_manager:\l\
  2043. \ \ equiv\ classes:\l\
  2044. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ INIT_VAL(ptr_2(D))\ ==\ [m_constant]'0B'\}\l\
  2045. \ \ constraints:\l\
  2046. \l\
  2047. "];
  2048. }
  2049. subgraph "cluster_supernode_30" {
  2050. style="dashed";
  2051. label="SN: 30 (bb: 5; scc: 30)";
  2052. exploded_node_142 [shape=none,margin=0,style=filled,fillcolor=lightblue,label="EN:\ 142\ (bulk\ merged)\l\
  2053. callstring:\ []\l\
  2054. before\ SN:\ 30\ (from\ SN:\ 28)\l\
  2055. .MEM_1\ =\ PHI\ \<.MEM_4(4),\ .MEM_5(3)\>\l\
  2056. rmodel:\l\
  2057. stack\ depth:\ 1\l\
  2058. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  2059. clusters\ within\ root\ region\l\
  2060. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2061. \ \ \ \ ESCAPED\l\
  2062. m_called_unknown_fn:\ FALSE\l\
  2063. constraint_manager:\l\
  2064. \ \ equiv\ classes:\l\
  2065. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2066. \ \ \ \ ec1:\ \{INIT_VAL(ptr_2(D))\}\l\
  2067. \ \ constraints:\l\
  2068. \ \ \ \ 0:\ ec1:\ \{INIT_VAL(ptr_2(D))\}\ !=\ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2069. malloc:\ \l\
  2070. \ \ 0x36292f0:\ INIT_VAL(ptr_2(D)):\ freed\ ('ptr_2(D)')\l\
  2071. \l\
  2072. "];
  2073. exploded_node_145 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 145\ (bulk\ merged)\l\
  2074. callstring:\ []\l\
  2075. before\ SN:\ 30\ (from\ SN:\ 29)\l\
  2076. .MEM_1\ =\ PHI\ \<.MEM_4(4),\ .MEM_5(3)\>\l\
  2077. rmodel:\l\
  2078. stack\ depth:\ 1\l\
  2079. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  2080. clusters\ within\ root\ region\l\
  2081. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2082. \ \ \ \ ESCAPED\l\
  2083. m_called_unknown_fn:\ FALSE\l\
  2084. constraint_manager:\l\
  2085. \ \ equiv\ classes:\l\
  2086. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ INIT_VAL(ptr_2(D))\ ==\ [m_constant]'0B'\}\l\
  2087. \ \ constraints:\l\
  2088. \l\
  2089. "];
  2090. exploded_node_146 [shape=none,margin=0,style=filled,fillcolor=lightblue,label="EN:\ 146\l\
  2091. callstring:\ []\l\
  2092. before\ (SN:\ 30\ stmt:\ 0):\ \l\
  2093. #\ DEBUG\ BEGIN_STMT\l\
  2094. 64\ \|\ \ \ \ \ \ \ \ \ return;\l\
  2095. \ \ \ \|\ \ \ \ \ \ \ \ \ ^~~~~~\l\
  2096. \l\
  2097. rmodel:\l\
  2098. stack\ depth:\ 1\l\
  2099. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  2100. clusters\ within\ root\ region\l\
  2101. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2102. \ \ \ \ ESCAPED\l\
  2103. m_called_unknown_fn:\ FALSE\l\
  2104. constraint_manager:\l\
  2105. \ \ equiv\ classes:\l\
  2106. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2107. \ \ \ \ ec1:\ \{INIT_VAL(ptr_2(D))\}\l\
  2108. \ \ constraints:\l\
  2109. \ \ \ \ 0:\ ec1:\ \{INIT_VAL(ptr_2(D))\}\ !=\ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2110. malloc:\ \l\
  2111. \ \ 0x36292f0:\ INIT_VAL(ptr_2(D)):\ freed\ ('ptr_2(D)')\l\
  2112. \l\
  2113. stmts:\ 2\l\
  2114. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  2115. \ \ 1:\ return;\l\
  2116. "];
  2117. exploded_node_147 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 147\l\
  2118. callstring:\ []\l\
  2119. before\ (SN:\ 30\ stmt:\ 0):\ \l\
  2120. #\ DEBUG\ BEGIN_STMT\l\
  2121. 64\ \|\ \ \ \ \ \ \ \ \ return;\l\
  2122. \ \ \ \|\ \ \ \ \ \ \ \ \ ^~~~~~\l\
  2123. \l\
  2124. rmodel:\l\
  2125. stack\ depth:\ 1\l\
  2126. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  2127. clusters\ within\ root\ region\l\
  2128. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2129. \ \ \ \ ESCAPED\l\
  2130. m_called_unknown_fn:\ FALSE\l\
  2131. constraint_manager:\l\
  2132. \ \ equiv\ classes:\l\
  2133. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ INIT_VAL(ptr_2(D))\ ==\ [m_constant]'0B'\}\l\
  2134. \ \ constraints:\l\
  2135. \l\
  2136. stmts:\ 2\l\
  2137. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  2138. \ \ 1:\ return;\l\
  2139. "];
  2140. exploded_node_148 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 148\l\
  2141. callstring:\ []\l\
  2142. after\ SN:\ 30\l\
  2143. rmodel:\l\
  2144. stack\ depth:\ 1\l\
  2145. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  2146. clusters\ within\ root\ region\l\
  2147. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2148. \ \ \ \ ESCAPED\l\
  2149. m_called_unknown_fn:\ FALSE\l\
  2150. constraint_manager:\l\
  2151. \ \ equiv\ classes:\l\
  2152. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ INIT_VAL(ptr_2(D))\ ==\ [m_constant]'0B'\}\l\
  2153. \ \ constraints:\l\
  2154. \l\
  2155. "];
  2156. exploded_node_149 [shape=none,margin=0,style=filled,fillcolor=lightblue,label="EN:\ 149\l\
  2157. callstring:\ []\l\
  2158. after\ SN:\ 30\l\
  2159. rmodel:\l\
  2160. stack\ depth:\ 1\l\
  2161. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  2162. clusters\ within\ root\ region\l\
  2163. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2164. \ \ \ \ ESCAPED\l\
  2165. m_called_unknown_fn:\ FALSE\l\
  2166. constraint_manager:\l\
  2167. \ \ equiv\ classes:\l\
  2168. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2169. \ \ \ \ ec1:\ \{INIT_VAL(ptr_2(D))\}\l\
  2170. \ \ constraints:\l\
  2171. \ \ \ \ 0:\ ec1:\ \{INIT_VAL(ptr_2(D))\}\ !=\ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2172. malloc:\ \l\
  2173. \ \ 0x36292f0:\ INIT_VAL(ptr_2(D)):\ freed\ ('ptr_2(D)')\l\
  2174. \l\
  2175. "];
  2176. }
  2177. subgraph "cluster_supernode_31" {
  2178. style="dashed";
  2179. label="SN: 31 (bb: 1; scc: 31)";
  2180. exploded_node_150 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 150\ (bulk\ merged)\l\
  2181. callstring:\ []\l\
  2182. before\ SN:\ 31\ (from\ SN:\ 30)\l\
  2183. \l\
  2184. rmodel:\l\
  2185. stack\ depth:\ 1\l\
  2186. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  2187. clusters\ within\ root\ region\l\
  2188. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2189. \ \ \ \ ESCAPED\l\
  2190. m_called_unknown_fn:\ FALSE\l\
  2191. constraint_manager:\l\
  2192. \ \ equiv\ classes:\l\
  2193. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ INIT_VAL(ptr_2(D))\ ==\ [m_constant]'0B'\}\l\
  2194. \ \ constraints:\l\
  2195. \l\
  2196. "];
  2197. exploded_node_151 [shape=none,margin=0,style=filled,fillcolor=lightblue,label="EN:\ 151\ (bulk\ merged)\l\
  2198. callstring:\ []\l\
  2199. before\ SN:\ 31\ (from\ SN:\ 30)\l\
  2200. \l\
  2201. rmodel:\l\
  2202. stack\ depth:\ 1\l\
  2203. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  2204. clusters\ within\ root\ region\l\
  2205. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2206. \ \ \ \ ESCAPED\l\
  2207. m_called_unknown_fn:\ FALSE\l\
  2208. constraint_manager:\l\
  2209. \ \ equiv\ classes:\l\
  2210. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2211. \ \ \ \ ec1:\ \{INIT_VAL(ptr_2(D))\}\l\
  2212. \ \ constraints:\l\
  2213. \ \ \ \ 0:\ ec1:\ \{INIT_VAL(ptr_2(D))\}\ !=\ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2214. malloc:\ \l\
  2215. \ \ 0x36292f0:\ INIT_VAL(ptr_2(D)):\ freed\ ('ptr_2(D)')\l\
  2216. \l\
  2217. "];
  2218. exploded_node_152 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 152\l\
  2219. callstring:\ []\l\
  2220. after\ SN:\ 31\l\
  2221. rmodel:\l\
  2222. stack\ depth:\ 1\l\
  2223. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  2224. clusters\ within\ root\ region\l\
  2225. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2226. \ \ \ \ ESCAPED\l\
  2227. m_called_unknown_fn:\ FALSE\l\
  2228. constraint_manager:\l\
  2229. \ \ equiv\ classes:\l\
  2230. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ INIT_VAL(ptr_2(D))\ ==\ [m_constant]'0B'\}\l\
  2231. \ \ constraints:\l\
  2232. \l\
  2233. "];
  2234. exploded_node_153 [shape=none,margin=0,style=filled,fillcolor=lightblue,label="EN:\ 153\l\
  2235. callstring:\ []\l\
  2236. after\ SN:\ 31\l\
  2237. rmodel:\l\
  2238. stack\ depth:\ 1\l\
  2239. \ \ frame\ (index\ 0):\ frame:\ 'dp_free'@1\l\
  2240. clusters\ within\ root\ region\l\
  2241. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2242. \ \ \ \ ESCAPED\l\
  2243. m_called_unknown_fn:\ FALSE\l\
  2244. constraint_manager:\l\
  2245. \ \ equiv\ classes:\l\
  2246. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2247. \ \ \ \ ec1:\ \{INIT_VAL(ptr_2(D))\}\l\
  2248. \ \ constraints:\l\
  2249. \ \ \ \ 0:\ ec1:\ \{INIT_VAL(ptr_2(D))\}\ !=\ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2250. malloc:\ \l\
  2251. \ \ 0x36292f0:\ INIT_VAL(ptr_2(D)):\ freed\ ('ptr_2(D)')\l\
  2252. \l\
  2253. "];
  2254. }
  2255. }
  2256. subgraph "cluster_function_dp_malloc" {
  2257. label="call string: [] function: dp_malloc ";
  2258. subgraph "cluster_supernode_20" {
  2259. style="dashed";
  2260. label="SN: 20 (bb: 0; scc: 20)";
  2261. exploded_node_4 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 4\l\
  2262. callstring:\ []\l\
  2263. before\ SN:\ 20\ (NULL\ from-edge)\l\
  2264. \l\
  2265. rmodel:\l\
  2266. stack\ depth:\ 1\l\
  2267. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  2268. m_called_unknown_fn:\ FALSE\l\
  2269. constraint_manager:\l\
  2270. \ \ equiv\ classes:\l\
  2271. \ \ constraints:\l\
  2272. \l\
  2273. "];
  2274. exploded_node_95 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 95\l\
  2275. callstring:\ []\l\
  2276. after\ SN:\ 20\l\
  2277. rmodel:\l\
  2278. stack\ depth:\ 1\l\
  2279. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  2280. m_called_unknown_fn:\ FALSE\l\
  2281. constraint_manager:\l\
  2282. \ \ equiv\ classes:\l\
  2283. \ \ constraints:\l\
  2284. \l\
  2285. "];
  2286. }
  2287. subgraph "cluster_supernode_21" {
  2288. style="dashed";
  2289. label="SN: 21 (bb: 2; scc: 21)";
  2290. exploded_node_96 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 96\l\
  2291. callstring:\ []\l\
  2292. before\ SN:\ 21\ (from\ SN:\ 20)\l\
  2293. \l\
  2294. rmodel:\l\
  2295. stack\ depth:\ 1\l\
  2296. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  2297. m_called_unknown_fn:\ FALSE\l\
  2298. constraint_manager:\l\
  2299. \ \ equiv\ classes:\l\
  2300. \ \ constraints:\l\
  2301. \l\
  2302. "];
  2303. exploded_node_97 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 97\l\
  2304. callstring:\ []\l\
  2305. before\ (SN:\ 21\ stmt:\ 0):\ \l\
  2306. #\ DEBUG\ BEGIN_STMT\l\
  2307. 71\ \|\ \ \ \ \ \ \ \ \ if\ (n\ ==\ 0)\ \{\l\
  2308. \ \ \ \|\ \ \ \ \ \ \ \ \ ^~\l\
  2309. \l\
  2310. rmodel:\l\
  2311. stack\ depth:\ 1\l\
  2312. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  2313. m_called_unknown_fn:\ FALSE\l\
  2314. constraint_manager:\l\
  2315. \ \ equiv\ classes:\l\
  2316. \ \ constraints:\l\
  2317. \l\
  2318. stmts:\ 2\l\
  2319. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  2320. \ \ 1:\ if\ (n_2(D)\ ==\ 0)\l\
  2321. "];
  2322. exploded_node_98 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 98\l\
  2323. callstring:\ []\l\
  2324. after\ SN:\ 21\l\
  2325. rmodel:\l\
  2326. stack\ depth:\ 1\l\
  2327. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  2328. m_called_unknown_fn:\ FALSE\l\
  2329. constraint_manager:\l\
  2330. \ \ equiv\ classes:\l\
  2331. \ \ constraints:\l\
  2332. \l\
  2333. "];
  2334. }
  2335. subgraph "cluster_supernode_22" {
  2336. style="dashed";
  2337. label="SN: 22 (bb: 3; scc: 22)";
  2338. exploded_node_99 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 99\l\
  2339. callstring:\ []\l\
  2340. before\ SN:\ 22\ (from\ SN:\ 21)\l\
  2341. \l\
  2342. rmodel:\l\
  2343. stack\ depth:\ 1\l\
  2344. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  2345. m_called_unknown_fn:\ FALSE\l\
  2346. constraint_manager:\l\
  2347. \ \ equiv\ classes:\l\
  2348. \ \ \ \ ec0:\ \{(size_t)0\ ==\ INIT_VAL(n_2(D))\ ==\ [m_constant]'0'\}\l\
  2349. \ \ constraints:\l\
  2350. \l\
  2351. "];
  2352. exploded_node_101 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 101\l\
  2353. callstring:\ []\l\
  2354. before\ (SN:\ 22\ stmt:\ 0):\ \l\
  2355. #\ DEBUG\ BEGIN_STMT\l\
  2356. 72\ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ printf(\"%s():\ 0\ malloc\\n\",\ __func__);\l\
  2357. \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~~~~~\l\
  2358. \l\
  2359. rmodel:\l\
  2360. stack\ depth:\ 1\l\
  2361. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  2362. m_called_unknown_fn:\ FALSE\l\
  2363. constraint_manager:\l\
  2364. \ \ equiv\ classes:\l\
  2365. \ \ \ \ ec0:\ \{(size_t)0\ ==\ INIT_VAL(n_2(D))\ ==\ [m_constant]'0'\}\l\
  2366. \ \ constraints:\l\
  2367. \l\
  2368. stmts:\ 2\l\
  2369. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  2370. \ \ 1:\ printf\ (\"%s():\ 0\ malloc\\n\",\ &__func__);\l\
  2371. "];
  2372. exploded_node_102 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 102\l\
  2373. callstring:\ []\l\
  2374. after\ SN:\ 22\l\
  2375. rmodel:\l\
  2376. stack\ depth:\ 1\l\
  2377. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  2378. m_called_unknown_fn:\ FALSE\l\
  2379. constraint_manager:\l\
  2380. \ \ equiv\ classes:\l\
  2381. \ \ \ \ ec0:\ \{(size_t)0\ ==\ INIT_VAL(n_2(D))\ ==\ [m_constant]'0'\}\l\
  2382. \ \ constraints:\l\
  2383. \l\
  2384. "];
  2385. }
  2386. subgraph "cluster_supernode_23" {
  2387. style="dashed";
  2388. label="SN: 23 (bb: 4; scc: 23)";
  2389. exploded_node_100 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 100\ (bulk\ merged)\l\
  2390. callstring:\ []\l\
  2391. before\ SN:\ 23\ (from\ SN:\ 21)\l\
  2392. .MEM_1\ =\ PHI\ \<.MEM_3(D)(2),\ .MEM_4(3)\>\l\
  2393. rmodel:\l\
  2394. stack\ depth:\ 1\l\
  2395. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  2396. m_called_unknown_fn:\ FALSE\l\
  2397. constraint_manager:\l\
  2398. \ \ equiv\ classes:\l\
  2399. \ \ \ \ ec0:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  2400. \ \ \ \ ec1:\ \{INIT_VAL(n_2(D))\}\l\
  2401. \ \ constraints:\l\
  2402. \ \ \ \ 0:\ ec1:\ \{INIT_VAL(n_2(D))\}\ !=\ ec0:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  2403. \l\
  2404. "];
  2405. exploded_node_103 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 103\ (bulk\ merged)\l\
  2406. callstring:\ []\l\
  2407. before\ SN:\ 23\ (from\ SN:\ 22)\l\
  2408. .MEM_1\ =\ PHI\ \<.MEM_3(D)(2),\ .MEM_4(3)\>\l\
  2409. rmodel:\l\
  2410. stack\ depth:\ 1\l\
  2411. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  2412. m_called_unknown_fn:\ FALSE\l\
  2413. constraint_manager:\l\
  2414. \ \ equiv\ classes:\l\
  2415. \ \ \ \ ec0:\ \{(size_t)0\ ==\ INIT_VAL(n_2(D))\ ==\ [m_constant]'0'\}\l\
  2416. \ \ constraints:\l\
  2417. \l\
  2418. "];
  2419. exploded_node_104 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 104\l\
  2420. callstring:\ []\l\
  2421. before\ (SN:\ 23\ stmt:\ 0):\ \l\
  2422. #\ DEBUG\ BEGIN_STMT\l\
  2423. 74\ \|\ \ \ \ \ \ \ \ \ return\ (dp_calloc(1,\ n));\l\
  2424. \ \ \ \|\ \ \ \ \ \ \ \ \ ^~~~~~\l\
  2425. \l\
  2426. rmodel:\l\
  2427. stack\ depth:\ 1\l\
  2428. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  2429. m_called_unknown_fn:\ FALSE\l\
  2430. constraint_manager:\l\
  2431. \ \ equiv\ classes:\l\
  2432. \ \ constraints:\l\
  2433. \l\
  2434. stmts:\ 2\l\
  2435. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  2436. \ \ 1:\ _6\ =\ dp_calloc\ (1,\ n_2(D));\l\
  2437. "];
  2438. exploded_node_105 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 105\l\
  2439. callstring:\ []\l\
  2440. after\ SN:\ 23\l\
  2441. rmodel:\l\
  2442. stack\ depth:\ 1\l\
  2443. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  2444. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  2445. \ \ cluster\ for:\ _6:\ INIT_VAL(_6)\l\
  2446. m_called_unknown_fn:\ FALSE\l\
  2447. constraint_manager:\l\
  2448. \ \ equiv\ classes:\l\
  2449. \ \ constraints:\l\
  2450. \l\
  2451. "];
  2452. }
  2453. subgraph "cluster_supernode_24" {
  2454. style="dashed";
  2455. label="SN: 24 (bb: 4; scc: 24)";
  2456. exploded_node_128 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 128\l\
  2457. callstring:\ []\l\
  2458. before\ SN:\ 24\ (NULL\ from-edge)\l\
  2459. \l\
  2460. rmodel:\l\
  2461. stack\ depth:\ 1\l\
  2462. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  2463. clusters\ within\ heap\ region\l\
  2464. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(69)\l\
  2465. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(69)\}\l\
  2466. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  2467. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  2468. \ \ cluster\ for:\ _6:\ &HEAP_ALLOCATED_REGION(69)\l\
  2469. m_called_unknown_fn:\ FALSE\l\
  2470. constraint_manager:\l\
  2471. \ \ equiv\ classes:\l\
  2472. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(69)\}\l\
  2473. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2474. \ \ constraints:\l\
  2475. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(69)\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2476. malloc:\ \l\
  2477. \ \ 0x36845f0:\ &HEAP_ALLOCATED_REGION(69):\ nonnull\ (\{free\})\ ('_6')\l\
  2478. \l\
  2479. "];
  2480. exploded_node_129 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 129\l\
  2481. callstring:\ []\l\
  2482. before\ (SN:\ 24\ stmt:\ 0):\ \l\
  2483. return\ _6;\l\
  2484. 74\ \|\ \ \ \ \ \ \ \ \ return\ (dp_calloc(1,\ n));\l\
  2485. \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ~^~~~~~~~~~~~~~~~\l\
  2486. \l\
  2487. rmodel:\l\
  2488. stack\ depth:\ 1\l\
  2489. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  2490. clusters\ within\ heap\ region\l\
  2491. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(69)\l\
  2492. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(69)\}\l\
  2493. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  2494. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  2495. \ \ cluster\ for:\ _6:\ &HEAP_ALLOCATED_REGION(69)\l\
  2496. m_called_unknown_fn:\ FALSE\l\
  2497. constraint_manager:\l\
  2498. \ \ equiv\ classes:\l\
  2499. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(69)\}\l\
  2500. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2501. \ \ constraints:\l\
  2502. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(69)\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2503. malloc:\ \l\
  2504. \ \ 0x36845f0:\ &HEAP_ALLOCATED_REGION(69):\ nonnull\ (\{free\})\ ('_6')\l\
  2505. \l\
  2506. stmts:\ 1\l\
  2507. \ \ 0:\ return\ _6;\l\
  2508. "];
  2509. exploded_node_130 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 130\l\
  2510. callstring:\ []\l\
  2511. after\ SN:\ 24\l\
  2512. rmodel:\l\
  2513. stack\ depth:\ 1\l\
  2514. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  2515. clusters\ within\ heap\ region\l\
  2516. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(69)\l\
  2517. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(69)\}\l\
  2518. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  2519. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  2520. \ \ cluster\ for:\ _6:\ &HEAP_ALLOCATED_REGION(69)\l\
  2521. \ \ cluster\ for:\ \<anonymous\>:\ &HEAP_ALLOCATED_REGION(69)\l\
  2522. m_called_unknown_fn:\ FALSE\l\
  2523. constraint_manager:\l\
  2524. \ \ equiv\ classes:\l\
  2525. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(69)\}\l\
  2526. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2527. \ \ constraints:\l\
  2528. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(69)\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2529. malloc:\ \l\
  2530. \ \ 0x36845f0:\ &HEAP_ALLOCATED_REGION(69):\ nonnull\ (\{free\})\ ('\<retval\>')\l\
  2531. \l\
  2532. "];
  2533. }
  2534. subgraph "cluster_supernode_25" {
  2535. style="dashed";
  2536. label="SN: 25 (bb: 1; scc: 25)";
  2537. exploded_node_131 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 131\l\
  2538. callstring:\ []\l\
  2539. before\ SN:\ 25\ (from\ SN:\ 24)\l\
  2540. \l\
  2541. rmodel:\l\
  2542. stack\ depth:\ 1\l\
  2543. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  2544. clusters\ within\ heap\ region\l\
  2545. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(69)\l\
  2546. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(69)\}\l\
  2547. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  2548. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  2549. \ \ cluster\ for:\ \<anonymous\>:\ &HEAP_ALLOCATED_REGION(69)\l\
  2550. m_called_unknown_fn:\ FALSE\l\
  2551. constraint_manager:\l\
  2552. \ \ equiv\ classes:\l\
  2553. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(69)\}\l\
  2554. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2555. \ \ constraints:\l\
  2556. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(69)\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2557. malloc:\ \l\
  2558. \ \ 0x36845f0:\ &HEAP_ALLOCATED_REGION(69):\ nonnull\ (\{free\})\ ('\<retval\>')\l\
  2559. \l\
  2560. "];
  2561. exploded_node_132 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 132\l\
  2562. callstring:\ []\l\
  2563. after\ SN:\ 25\l\
  2564. rmodel:\l\
  2565. stack\ depth:\ 1\l\
  2566. \ \ frame\ (index\ 0):\ frame:\ 'dp_malloc'@1\l\
  2567. clusters\ within\ heap\ region\l\
  2568. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(69)\l\
  2569. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(69)\}\l\
  2570. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  2571. clusters\ within\ frame:\ 'dp_malloc'@1\l\
  2572. \ \ cluster\ for:\ \<anonymous\>:\ &HEAP_ALLOCATED_REGION(69)\l\
  2573. m_called_unknown_fn:\ FALSE\l\
  2574. constraint_manager:\l\
  2575. \ \ equiv\ classes:\l\
  2576. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(69)\}\l\
  2577. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2578. \ \ constraints:\l\
  2579. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(69)\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2580. malloc:\ \l\
  2581. \ \ 0x36845f0:\ &HEAP_ALLOCATED_REGION(69):\ nonnull\ (\{free\})\ ('\<retval\>')\l\
  2582. \l\
  2583. "];
  2584. }
  2585. }
  2586. subgraph "cluster_function_dp_realloc" {
  2587. label="call string: [] function: dp_realloc ";
  2588. subgraph "cluster_supernode_7" {
  2589. style="dashed";
  2590. label="SN: 7 (bb: 0; scc: 7)";
  2591. exploded_node_2 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 2\l\
  2592. callstring:\ []\l\
  2593. before\ SN:\ 7\ (NULL\ from-edge)\l\
  2594. \l\
  2595. rmodel:\l\
  2596. stack\ depth:\ 1\l\
  2597. \ \ frame\ (index\ 0):\ frame:\ 'dp_realloc'@1\l\
  2598. clusters\ within\ root\ region\l\
  2599. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2600. \ \ \ \ ESCAPED\l\
  2601. m_called_unknown_fn:\ FALSE\l\
  2602. constraint_manager:\l\
  2603. \ \ equiv\ classes:\l\
  2604. \ \ constraints:\l\
  2605. \l\
  2606. "];
  2607. exploded_node_27 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 27\l\
  2608. callstring:\ []\l\
  2609. after\ SN:\ 7\l\
  2610. rmodel:\l\
  2611. stack\ depth:\ 1\l\
  2612. \ \ frame\ (index\ 0):\ frame:\ 'dp_realloc'@1\l\
  2613. clusters\ within\ root\ region\l\
  2614. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2615. \ \ \ \ ESCAPED\l\
  2616. m_called_unknown_fn:\ FALSE\l\
  2617. constraint_manager:\l\
  2618. \ \ equiv\ classes:\l\
  2619. \ \ constraints:\l\
  2620. \l\
  2621. "];
  2622. }
  2623. subgraph "cluster_supernode_8" {
  2624. style="dashed";
  2625. label="SN: 8 (bb: 2; scc: 8)";
  2626. exploded_node_28 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 28\l\
  2627. callstring:\ []\l\
  2628. before\ SN:\ 8\ (from\ SN:\ 7)\l\
  2629. \l\
  2630. rmodel:\l\
  2631. stack\ depth:\ 1\l\
  2632. \ \ frame\ (index\ 0):\ frame:\ 'dp_realloc'@1\l\
  2633. clusters\ within\ root\ region\l\
  2634. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2635. \ \ \ \ ESCAPED\l\
  2636. m_called_unknown_fn:\ FALSE\l\
  2637. constraint_manager:\l\
  2638. \ \ equiv\ classes:\l\
  2639. \ \ constraints:\l\
  2640. \l\
  2641. "];
  2642. exploded_node_29 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 29\l\
  2643. callstring:\ []\l\
  2644. before\ (SN:\ 8\ stmt:\ 0):\ \l\
  2645. #\ DEBUG\ BEGIN_STMT\l\
  2646. 96\ \|\ \ \ \ \ \ \ \ \ void\ *ret\ =\ NULL;\l\
  2647. \ \ \ \|\ \ \ \ \ \ \ \ \ ^~~~\l\
  2648. \l\
  2649. rmodel:\l\
  2650. stack\ depth:\ 1\l\
  2651. \ \ frame\ (index\ 0):\ frame:\ 'dp_realloc'@1\l\
  2652. clusters\ within\ root\ region\l\
  2653. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2654. \ \ \ \ ESCAPED\l\
  2655. m_called_unknown_fn:\ FALSE\l\
  2656. constraint_manager:\l\
  2657. \ \ equiv\ classes:\l\
  2658. \ \ constraints:\l\
  2659. \l\
  2660. stmts:\ 3\l\
  2661. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  2662. \ \ 1:\ #\ DEBUG\ ret\ =\>\ 0B\l\
  2663. \ \ 2:\ #\ DEBUG\ BEGIN_STMT\l\
  2664. "];
  2665. exploded_node_30 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 30\l\
  2666. callstring:\ []\l\
  2667. before\ (SN:\ 8\ stmt:\ 3):\ \l\
  2668. ret_5\ =\ realloc\ (ptr_2(D),\ n_3(D));\l\
  2669. 98\ \|\ \ \ \ \ \ \ \ \ ret\ =\ realloc(ptr,\ n);\l\
  2670. \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~~~~~~~~~~~~~~\l\
  2671. \l\
  2672. rmodel:\l\
  2673. stack\ depth:\ 1\l\
  2674. \ \ frame\ (index\ 0):\ frame:\ 'dp_realloc'@1\l\
  2675. clusters\ within\ root\ region\l\
  2676. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2677. \ \ \ \ ESCAPED\l\
  2678. m_called_unknown_fn:\ FALSE\l\
  2679. constraint_manager:\l\
  2680. \ \ equiv\ classes:\l\
  2681. \ \ constraints:\l\
  2682. \l\
  2683. stmts:\ 1\l\
  2684. \ \ 3:\ ret_5\ =\ realloc\ (ptr_2(D),\ n_3(D));\l\
  2685. "];
  2686. exploded_node_31 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 31\l\
  2687. callstring:\ []\l\
  2688. before\ (SN:\ 8\ stmt:\ 4):\ \l\
  2689. #\ DEBUG\ ret\ =\>\ ret_5\l\
  2690. 98\ \|\ \ \ \ \ \ \ \ \ ret\ =\ realloc(ptr,\ n);\l\
  2691. \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~~~~~~~~~~~~~~\l\
  2692. \l\
  2693. rmodel:\l\
  2694. stack\ depth:\ 1\l\
  2695. \ \ frame\ (index\ 0):\ frame:\ 'dp_realloc'@1\l\
  2696. clusters\ within\ root\ region\l\
  2697. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2698. \ \ \ \ ESCAPED\l\
  2699. m_called_unknown_fn:\ FALSE\l\
  2700. constraint_manager:\l\
  2701. \ \ equiv\ classes:\l\
  2702. \ \ constraints:\l\
  2703. malloc:\ \l\
  2704. \ \ 0x362a2e0:\ INIT_VAL(ptr_2(D)):\ stop\ ('ptr_2(D)')\l\
  2705. \l\
  2706. stmts:\ 3\l\
  2707. \ \ 4:\ #\ DEBUG\ ret\ =\>\ ret_5\l\
  2708. \ \ 5:\ #\ DEBUG\ BEGIN_STMT\l\
  2709. \ \ 6:\ if\ (n_3(D)\ !=\ 0)\l\
  2710. "];
  2711. exploded_node_32 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 32\l\
  2712. callstring:\ []\l\
  2713. after\ SN:\ 8\l\
  2714. rmodel:\l\
  2715. stack\ depth:\ 1\l\
  2716. \ \ frame\ (index\ 0):\ frame:\ 'dp_realloc'@1\l\
  2717. clusters\ within\ root\ region\l\
  2718. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2719. \ \ \ \ ESCAPED\l\
  2720. m_called_unknown_fn:\ FALSE\l\
  2721. constraint_manager:\l\
  2722. \ \ equiv\ classes:\l\
  2723. \ \ constraints:\l\
  2724. malloc:\ \l\
  2725. \ \ 0x362a2e0:\ INIT_VAL(ptr_2(D)):\ stop\ ('ptr_2(D)')\l\
  2726. \l\
  2727. "];
  2728. }
  2729. subgraph "cluster_supernode_9" {
  2730. style="dashed";
  2731. label="SN: 9 (bb: 3; scc: 9)";
  2732. exploded_node_33 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 33\l\
  2733. callstring:\ []\l\
  2734. before\ SN:\ 9\ (from\ SN:\ 8)\l\
  2735. \l\
  2736. rmodel:\l\
  2737. stack\ depth:\ 1\l\
  2738. \ \ frame\ (index\ 0):\ frame:\ 'dp_realloc'@1\l\
  2739. clusters\ within\ root\ region\l\
  2740. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2741. \ \ \ \ ESCAPED\l\
  2742. m_called_unknown_fn:\ FALSE\l\
  2743. constraint_manager:\l\
  2744. \ \ equiv\ classes:\l\
  2745. \ \ \ \ ec0:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  2746. \ \ \ \ ec1:\ \{INIT_VAL(n_3(D))\}\l\
  2747. \ \ constraints:\l\
  2748. \ \ \ \ 0:\ ec1:\ \{INIT_VAL(n_3(D))\}\ !=\ ec0:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  2749. malloc:\ \l\
  2750. \ \ 0x362a2e0:\ INIT_VAL(ptr_2(D)):\ stop\ ('ptr_2(D)')\l\
  2751. \l\
  2752. "];
  2753. exploded_node_35 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 35\l\
  2754. callstring:\ []\l\
  2755. before\ (SN:\ 9\ stmt:\ 0):\ \l\
  2756. #\ DEBUG\ BEGIN_STMT\l\
  2757. 101\ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ if\ (ret\ ==\ NULL)\ \{\l\
  2758. \ \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~\l\
  2759. \l\
  2760. rmodel:\l\
  2761. stack\ depth:\ 1\l\
  2762. \ \ frame\ (index\ 0):\ frame:\ 'dp_realloc'@1\l\
  2763. clusters\ within\ root\ region\l\
  2764. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2765. \ \ \ \ ESCAPED\l\
  2766. m_called_unknown_fn:\ FALSE\l\
  2767. constraint_manager:\l\
  2768. \ \ equiv\ classes:\l\
  2769. \ \ \ \ ec0:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  2770. \ \ \ \ ec1:\ \{INIT_VAL(n_3(D))\}\l\
  2771. \ \ constraints:\l\
  2772. \ \ \ \ 0:\ ec1:\ \{INIT_VAL(n_3(D))\}\ !=\ ec0:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  2773. malloc:\ \l\
  2774. \ \ 0x362a2e0:\ INIT_VAL(ptr_2(D)):\ stop\ ('ptr_2(D)')\l\
  2775. \l\
  2776. stmts:\ 2\l\
  2777. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  2778. \ \ 1:\ if\ (ret_5\ ==\ 0B)\l\
  2779. "];
  2780. exploded_node_36 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 36\l\
  2781. callstring:\ []\l\
  2782. after\ SN:\ 9\l\
  2783. rmodel:\l\
  2784. stack\ depth:\ 1\l\
  2785. \ \ frame\ (index\ 0):\ frame:\ 'dp_realloc'@1\l\
  2786. clusters\ within\ root\ region\l\
  2787. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2788. \ \ \ \ ESCAPED\l\
  2789. m_called_unknown_fn:\ FALSE\l\
  2790. constraint_manager:\l\
  2791. \ \ equiv\ classes:\l\
  2792. \ \ \ \ ec0:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  2793. \ \ \ \ ec1:\ \{INIT_VAL(n_3(D))\}\l\
  2794. \ \ constraints:\l\
  2795. \ \ \ \ 0:\ ec1:\ \{INIT_VAL(n_3(D))\}\ !=\ ec0:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  2796. malloc:\ \l\
  2797. \ \ 0x362a2e0:\ INIT_VAL(ptr_2(D)):\ stop\ ('ptr_2(D)')\l\
  2798. \l\
  2799. "];
  2800. }
  2801. subgraph "cluster_supernode_10" {
  2802. style="dashed";
  2803. label="SN: 10 (bb: 4; scc: 10)";
  2804. exploded_node_37 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 37\l\
  2805. callstring:\ []\l\
  2806. before\ SN:\ 10\ (from\ SN:\ 9)\l\
  2807. \l\
  2808. rmodel:\l\
  2809. stack\ depth:\ 1\l\
  2810. \ \ frame\ (index\ 0):\ frame:\ 'dp_realloc'@1\l\
  2811. clusters\ within\ root\ region\l\
  2812. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2813. \ \ \ \ ESCAPED\l\
  2814. m_called_unknown_fn:\ FALSE\l\
  2815. constraint_manager:\l\
  2816. \ \ equiv\ classes:\l\
  2817. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ INIT_VAL(ret_5)\ ==\ [m_constant]'0B'\}\l\
  2818. \ \ \ \ ec1:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  2819. \ \ \ \ ec2:\ \{INIT_VAL(n_3(D))\}\l\
  2820. \ \ constraints:\l\
  2821. \ \ \ \ 0:\ ec2:\ \{INIT_VAL(n_3(D))\}\ !=\ ec1:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  2822. malloc:\ \l\
  2823. \ \ 0x362a2e0:\ INIT_VAL(ptr_2(D)):\ stop\ ('ptr_2(D)')\l\
  2824. \l\
  2825. "];
  2826. exploded_node_39 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 39\l\
  2827. callstring:\ []\l\
  2828. before\ (SN:\ 10\ stmt:\ 0):\ \l\
  2829. #\ DEBUG\ BEGIN_STMT\l\
  2830. 102\ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ printf(\"%s():\ nil\ realloc\\n\",\ __func__);\l\
  2831. \ \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~~~~~\l\
  2832. \l\
  2833. rmodel:\l\
  2834. stack\ depth:\ 1\l\
  2835. \ \ frame\ (index\ 0):\ frame:\ 'dp_realloc'@1\l\
  2836. clusters\ within\ root\ region\l\
  2837. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2838. \ \ \ \ ESCAPED\l\
  2839. m_called_unknown_fn:\ FALSE\l\
  2840. constraint_manager:\l\
  2841. \ \ equiv\ classes:\l\
  2842. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ INIT_VAL(ret_5)\ ==\ [m_constant]'0B'\}\l\
  2843. \ \ \ \ ec1:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  2844. \ \ \ \ ec2:\ \{INIT_VAL(n_3(D))\}\l\
  2845. \ \ constraints:\l\
  2846. \ \ \ \ 0:\ ec2:\ \{INIT_VAL(n_3(D))\}\ !=\ ec1:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  2847. malloc:\ \l\
  2848. \ \ 0x362a2e0:\ INIT_VAL(ptr_2(D)):\ stop\ ('ptr_2(D)')\l\
  2849. \l\
  2850. stmts:\ 4\l\
  2851. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  2852. \ \ 1:\ printf\ (\"%s():\ nil\ realloc\\n\",\ &__func__);\l\
  2853. \ \ 2:\ #\ DEBUG\ BEGIN_STMT\l\
  2854. \ \ 3:\ exit\ (1);\l\
  2855. "];
  2856. exploded_node_40 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 40\l\
  2857. callstring:\ []\l\
  2858. after\ SN:\ 10\l\
  2859. rmodel:\l\
  2860. stack\ depth:\ 1\l\
  2861. \ \ frame\ (index\ 0):\ frame:\ 'dp_realloc'@1\l\
  2862. clusters\ within\ root\ region\l\
  2863. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D))):\ CONJURED(exit\ (1);,\ (*INIT_VAL(ptr_2(D))))\ (ESCAPED)\ (TOUCHED)\l\
  2864. m_called_unknown_fn:\ TRUE\l\
  2865. constraint_manager:\l\
  2866. \ \ equiv\ classes:\l\
  2867. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ INIT_VAL(ret_5)\ ==\ [m_constant]'0B'\}\l\
  2868. \ \ \ \ ec1:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  2869. \ \ \ \ ec2:\ \{INIT_VAL(n_3(D))\}\l\
  2870. \ \ constraints:\l\
  2871. \ \ \ \ 0:\ ec2:\ \{INIT_VAL(n_3(D))\}\ !=\ ec1:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  2872. malloc:\ \l\
  2873. \ \ 0x362a2e0:\ INIT_VAL(ptr_2(D)):\ stop\ ('ptr_2(D)')\l\
  2874. \l\
  2875. "];
  2876. }
  2877. subgraph "cluster_supernode_11" {
  2878. style="dashed";
  2879. label="SN: 11 (bb: 5; scc: 11)";
  2880. exploded_node_34 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 34\ (bulk\ merged)\l\
  2881. callstring:\ []\l\
  2882. before\ SN:\ 11\ (from\ SN:\ 8)\l\
  2883. \l\
  2884. rmodel:\l\
  2885. stack\ depth:\ 1\l\
  2886. \ \ frame\ (index\ 0):\ frame:\ 'dp_realloc'@1\l\
  2887. clusters\ within\ root\ region\l\
  2888. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2889. \ \ \ \ ESCAPED\l\
  2890. m_called_unknown_fn:\ FALSE\l\
  2891. constraint_manager:\l\
  2892. \ \ equiv\ classes:\l\
  2893. \ \ \ \ ec0:\ \{(size_t)0\ ==\ INIT_VAL(n_3(D))\ ==\ [m_constant]'0'\}\l\
  2894. \ \ constraints:\l\
  2895. malloc:\ \l\
  2896. \ \ 0x362a2e0:\ INIT_VAL(ptr_2(D)):\ stop\ ('ptr_2(D)')\l\
  2897. \l\
  2898. "];
  2899. exploded_node_38 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 38\ (bulk\ merged)\l\
  2900. callstring:\ []\l\
  2901. before\ SN:\ 11\ (from\ SN:\ 9)\l\
  2902. \l\
  2903. rmodel:\l\
  2904. stack\ depth:\ 1\l\
  2905. \ \ frame\ (index\ 0):\ frame:\ 'dp_realloc'@1\l\
  2906. clusters\ within\ root\ region\l\
  2907. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2908. \ \ \ \ ESCAPED\l\
  2909. m_called_unknown_fn:\ FALSE\l\
  2910. constraint_manager:\l\
  2911. \ \ equiv\ classes:\l\
  2912. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2913. \ \ \ \ ec1:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  2914. \ \ \ \ ec2:\ \{INIT_VAL(ret_5)\}\l\
  2915. \ \ \ \ ec3:\ \{INIT_VAL(n_3(D))\}\l\
  2916. \ \ constraints:\l\
  2917. \ \ \ \ 0:\ ec2:\ \{INIT_VAL(ret_5)\}\ !=\ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  2918. \ \ \ \ 1:\ ec3:\ \{INIT_VAL(n_3(D))\}\ !=\ ec1:\ \{(size_t)0\ ==\ [m_constant]'0'\}\l\
  2919. malloc:\ \l\
  2920. \ \ 0x362a2e0:\ INIT_VAL(ptr_2(D)):\ stop\ ('ptr_2(D)')\l\
  2921. \l\
  2922. "];
  2923. exploded_node_41 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 41\l\
  2924. callstring:\ []\l\
  2925. before\ (SN:\ 11\ stmt:\ 0):\ \l\
  2926. #\ DEBUG\ BEGIN_STMT\l\
  2927. 106\ \|\ \ \ \ \ \ \ \ \ return\ (ret);\l\
  2928. \ \ \ \ \|\ \ \ \ \ \ \ \ \ ^~~~~~\l\
  2929. \l\
  2930. rmodel:\l\
  2931. stack\ depth:\ 1\l\
  2932. \ \ frame\ (index\ 0):\ frame:\ 'dp_realloc'@1\l\
  2933. clusters\ within\ root\ region\l\
  2934. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2935. \ \ \ \ ESCAPED\l\
  2936. m_called_unknown_fn:\ FALSE\l\
  2937. constraint_manager:\l\
  2938. \ \ equiv\ classes:\l\
  2939. \ \ constraints:\l\
  2940. malloc:\ \l\
  2941. \ \ 0x362a2e0:\ INIT_VAL(ptr_2(D)):\ stop\ ('ptr_2(D)')\l\
  2942. \l\
  2943. stmts:\ 2\l\
  2944. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  2945. \ \ 1:\ return\ ret_5;\l\
  2946. "];
  2947. exploded_node_42 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 42\l\
  2948. callstring:\ []\l\
  2949. after\ SN:\ 11\l\
  2950. rmodel:\l\
  2951. stack\ depth:\ 1\l\
  2952. \ \ frame\ (index\ 0):\ frame:\ 'dp_realloc'@1\l\
  2953. clusters\ within\ root\ region\l\
  2954. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2955. \ \ \ \ ESCAPED\l\
  2956. clusters\ within\ frame:\ 'dp_realloc'@1\l\
  2957. \ \ cluster\ for:\ \<anonymous\>:\ INIT_VAL(ret_5)\l\
  2958. m_called_unknown_fn:\ FALSE\l\
  2959. constraint_manager:\l\
  2960. \ \ equiv\ classes:\l\
  2961. \ \ constraints:\l\
  2962. malloc:\ \l\
  2963. \ \ 0x362a2e0:\ INIT_VAL(ptr_2(D)):\ stop\ ('ptr_2(D)')\l\
  2964. \l\
  2965. "];
  2966. }
  2967. subgraph "cluster_supernode_12" {
  2968. style="dashed";
  2969. label="SN: 12 (bb: 1; scc: 12)";
  2970. exploded_node_43 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 43\l\
  2971. callstring:\ []\l\
  2972. before\ SN:\ 12\ (from\ SN:\ 11)\l\
  2973. \l\
  2974. rmodel:\l\
  2975. stack\ depth:\ 1\l\
  2976. \ \ frame\ (index\ 0):\ frame:\ 'dp_realloc'@1\l\
  2977. clusters\ within\ root\ region\l\
  2978. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2979. \ \ \ \ ESCAPED\l\
  2980. clusters\ within\ frame:\ 'dp_realloc'@1\l\
  2981. \ \ cluster\ for:\ \<anonymous\>:\ INIT_VAL(ret_5)\l\
  2982. m_called_unknown_fn:\ FALSE\l\
  2983. constraint_manager:\l\
  2984. \ \ equiv\ classes:\l\
  2985. \ \ constraints:\l\
  2986. malloc:\ \l\
  2987. \ \ 0x362a2e0:\ INIT_VAL(ptr_2(D)):\ stop\ ('ptr_2(D)')\l\
  2988. \l\
  2989. "];
  2990. exploded_node_44 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 44\l\
  2991. callstring:\ []\l\
  2992. after\ SN:\ 12\l\
  2993. rmodel:\l\
  2994. stack\ depth:\ 1\l\
  2995. \ \ frame\ (index\ 0):\ frame:\ 'dp_realloc'@1\l\
  2996. clusters\ within\ root\ region\l\
  2997. \ \ cluster\ for:\ (*INIT_VAL(ptr_2(D)))\l\
  2998. \ \ \ \ ESCAPED\l\
  2999. clusters\ within\ frame:\ 'dp_realloc'@1\l\
  3000. \ \ cluster\ for:\ \<anonymous\>:\ INIT_VAL(ret_5)\l\
  3001. m_called_unknown_fn:\ FALSE\l\
  3002. constraint_manager:\l\
  3003. \ \ equiv\ classes:\l\
  3004. \ \ constraints:\l\
  3005. malloc:\ \l\
  3006. \ \ 0x362a2e0:\ INIT_VAL(ptr_2(D)):\ stop\ ('ptr_2(D)')\l\
  3007. \l\
  3008. "];
  3009. }
  3010. }
  3011. subgraph "cluster_function_dp_strdup" {
  3012. label="call string: [] function: dp_strdup ";
  3013. subgraph "cluster_supernode_0" {
  3014. style="dashed";
  3015. label="SN: 0 (bb: 0; scc: 0)";
  3016. exploded_node_1 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 1\l\
  3017. callstring:\ []\l\
  3018. before\ SN:\ 0\ (NULL\ from-edge)\l\
  3019. \l\
  3020. rmodel:\l\
  3021. stack\ depth:\ 1\l\
  3022. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3023. clusters\ within\ root\ region\l\
  3024. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3025. \ \ \ \ ESCAPED\l\
  3026. m_called_unknown_fn:\ FALSE\l\
  3027. constraint_manager:\l\
  3028. \ \ equiv\ classes:\l\
  3029. \ \ constraints:\l\
  3030. \l\
  3031. "];
  3032. exploded_node_6 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 6\l\
  3033. callstring:\ []\l\
  3034. after\ SN:\ 0\l\
  3035. rmodel:\l\
  3036. stack\ depth:\ 1\l\
  3037. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3038. clusters\ within\ root\ region\l\
  3039. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3040. \ \ \ \ ESCAPED\l\
  3041. m_called_unknown_fn:\ FALSE\l\
  3042. constraint_manager:\l\
  3043. \ \ equiv\ classes:\l\
  3044. \ \ constraints:\l\
  3045. \l\
  3046. "];
  3047. }
  3048. subgraph "cluster_supernode_1" {
  3049. style="dashed";
  3050. label="SN: 1 (bb: 2; scc: 1)";
  3051. exploded_node_7 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 7\l\
  3052. callstring:\ []\l\
  3053. before\ SN:\ 1\ (from\ SN:\ 0)\l\
  3054. \l\
  3055. rmodel:\l\
  3056. stack\ depth:\ 1\l\
  3057. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3058. clusters\ within\ root\ region\l\
  3059. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3060. \ \ \ \ ESCAPED\l\
  3061. m_called_unknown_fn:\ FALSE\l\
  3062. constraint_manager:\l\
  3063. \ \ equiv\ classes:\l\
  3064. \ \ constraints:\l\
  3065. \l\
  3066. "];
  3067. exploded_node_8 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 8\l\
  3068. callstring:\ []\l\
  3069. before\ (SN:\ 1\ stmt:\ 0):\ \l\
  3070. #\ DEBUG\ BEGIN_STMT\l\
  3071. 112\ \|\ \ \ \ \ \ \ \ \ char\ *ret\ =\ NULL;\l\
  3072. \ \ \ \ \|\ \ \ \ \ \ \ \ \ ^~~~\l\
  3073. \l\
  3074. rmodel:\l\
  3075. stack\ depth:\ 1\l\
  3076. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3077. clusters\ within\ root\ region\l\
  3078. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3079. \ \ \ \ ESCAPED\l\
  3080. m_called_unknown_fn:\ FALSE\l\
  3081. constraint_manager:\l\
  3082. \ \ equiv\ classes:\l\
  3083. \ \ constraints:\l\
  3084. \l\
  3085. stmts:\ 4\l\
  3086. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  3087. \ \ 1:\ #\ DEBUG\ ret\ =\>\ 0B\l\
  3088. \ \ 2:\ #\ DEBUG\ BEGIN_STMT\l\
  3089. \ \ 3:\ if\ (str_6(D)\ ==\ 0B)\l\
  3090. "];
  3091. exploded_node_9 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 9\l\
  3092. callstring:\ []\l\
  3093. after\ SN:\ 1\l\
  3094. rmodel:\l\
  3095. stack\ depth:\ 1\l\
  3096. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3097. clusters\ within\ root\ region\l\
  3098. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3099. \ \ \ \ ESCAPED\l\
  3100. m_called_unknown_fn:\ FALSE\l\
  3101. constraint_manager:\l\
  3102. \ \ equiv\ classes:\l\
  3103. \ \ constraints:\l\
  3104. \l\
  3105. "];
  3106. }
  3107. subgraph "cluster_supernode_2" {
  3108. style="dashed";
  3109. label="SN: 2 (bb: 3; scc: 2)";
  3110. exploded_node_11 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 11\l\
  3111. callstring:\ []\l\
  3112. before\ SN:\ 2\ (from\ SN:\ 1)\l\
  3113. \l\
  3114. rmodel:\l\
  3115. stack\ depth:\ 1\l\
  3116. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3117. clusters\ within\ root\ region\l\
  3118. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3119. \ \ \ \ ESCAPED\l\
  3120. m_called_unknown_fn:\ FALSE\l\
  3121. constraint_manager:\l\
  3122. \ \ equiv\ classes:\l\
  3123. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3124. \ \ \ \ ec1:\ \{INIT_VAL(str_6(D))\}\l\
  3125. \ \ constraints:\l\
  3126. \ \ \ \ 0:\ ec1:\ \{INIT_VAL(str_6(D))\}\ !=\ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3127. \l\
  3128. "];
  3129. exploded_node_12 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 12\l\
  3130. callstring:\ []\l\
  3131. before\ (SN:\ 2\ stmt:\ 0):\ \l\
  3132. #\ DEBUG\ BEGIN_STMT\l\
  3133. 116\ \|\ \ \ \ \ \ \ \ \ if\ ((*str)\ ==\ 0)\ \{\l\
  3134. \ \ \ \ \|\ \ \ \ \ \ \ \ \ ^~\l\
  3135. \l\
  3136. rmodel:\l\
  3137. stack\ depth:\ 1\l\
  3138. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3139. clusters\ within\ root\ region\l\
  3140. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3141. \ \ \ \ ESCAPED\l\
  3142. m_called_unknown_fn:\ FALSE\l\
  3143. constraint_manager:\l\
  3144. \ \ equiv\ classes:\l\
  3145. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3146. \ \ \ \ ec1:\ \{INIT_VAL(str_6(D))\}\l\
  3147. \ \ constraints:\l\
  3148. \ \ \ \ 0:\ ec1:\ \{INIT_VAL(str_6(D))\}\ !=\ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3149. \l\
  3150. stmts:\ 3\l\
  3151. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  3152. \ \ 1:\ _1\ =\ *str_6(D);\l\
  3153. \ \ 2:\ if\ (_1\ ==\ 0)\l\
  3154. "];
  3155. exploded_node_13 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 13\l\
  3156. callstring:\ []\l\
  3157. after\ SN:\ 2\l\
  3158. rmodel:\l\
  3159. stack\ depth:\ 1\l\
  3160. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3161. clusters\ within\ root\ region\l\
  3162. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3163. \ \ \ \ ESCAPED\l\
  3164. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  3165. \ \ cluster\ for:\ _1:\ INIT_VAL((*INIT_VAL(str_6(D))))\l\
  3166. m_called_unknown_fn:\ FALSE\l\
  3167. constraint_manager:\l\
  3168. \ \ equiv\ classes:\l\
  3169. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3170. \ \ \ \ ec1:\ \{INIT_VAL(str_6(D))\}\l\
  3171. \ \ constraints:\l\
  3172. \ \ \ \ 0:\ ec1:\ \{INIT_VAL(str_6(D))\}\ !=\ ec0:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3173. \l\
  3174. "];
  3175. }
  3176. subgraph "cluster_supernode_3" {
  3177. style="dashed";
  3178. label="SN: 3 (bb: 4; scc: 3)";
  3179. exploded_node_15 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 15\l\
  3180. callstring:\ []\l\
  3181. before\ SN:\ 3\ (from\ SN:\ 2)\l\
  3182. \l\
  3183. rmodel:\l\
  3184. stack\ depth:\ 1\l\
  3185. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3186. clusters\ within\ root\ region\l\
  3187. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3188. \ \ \ \ ESCAPED\l\
  3189. m_called_unknown_fn:\ FALSE\l\
  3190. constraint_manager:\l\
  3191. \ \ equiv\ classes:\l\
  3192. \ \ \ \ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3193. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3194. \ \ \ \ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  3195. \ \ \ \ ec3:\ \{INIT_VAL(str_6(D))\}\l\
  3196. \ \ constraints:\l\
  3197. \ \ \ \ 0:\ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3198. \ \ \ \ 1:\ ec3:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3199. \l\
  3200. "];
  3201. exploded_node_16 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 16\l\
  3202. callstring:\ []\l\
  3203. before\ (SN:\ 3\ stmt:\ 0):\ \l\
  3204. #\ DEBUG\ BEGIN_STMT\l\
  3205. 119\ \|\ \ \ \ \ \ \ \ \ ret\ =\ dp_calloc(1,\ (strlen(str)\ +\ 1));\l\
  3206. \ \ \ \ \|\ \ \ \ \ \ \ \ \ ^~~\l\
  3207. \l\
  3208. rmodel:\l\
  3209. stack\ depth:\ 1\l\
  3210. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3211. clusters\ within\ root\ region\l\
  3212. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3213. \ \ \ \ ESCAPED\l\
  3214. m_called_unknown_fn:\ FALSE\l\
  3215. constraint_manager:\l\
  3216. \ \ equiv\ classes:\l\
  3217. \ \ \ \ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3218. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3219. \ \ \ \ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  3220. \ \ \ \ ec3:\ \{INIT_VAL(str_6(D))\}\l\
  3221. \ \ constraints:\l\
  3222. \ \ \ \ 0:\ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3223. \ \ \ \ 1:\ ec3:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3224. \l\
  3225. stmts:\ 4\l\
  3226. \ \ 0:\ #\ DEBUG\ BEGIN_STMT\l\
  3227. \ \ 1:\ _2\ =\ strlen\ (str_6(D));\l\
  3228. \ \ 2:\ _3\ =\ _2\ +\ 1;\l\
  3229. \ \ 3:\ ret_9\ =\ dp_calloc\ (1,\ _3);\l\
  3230. "];
  3231. exploded_node_17 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 17\l\
  3232. callstring:\ []\l\
  3233. after\ SN:\ 3\l\
  3234. rmodel:\l\
  3235. stack\ depth:\ 1\l\
  3236. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3237. clusters\ within\ root\ region\l\
  3238. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3239. \ \ \ \ ESCAPED\l\
  3240. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  3241. \ \ cluster\ for:\ _3:\ (INIT_VAL(_2)+(size_t)1)\l\
  3242. \ \ cluster\ for:\ ret_9:\ INIT_VAL(ret_9)\l\
  3243. m_called_unknown_fn:\ FALSE\l\
  3244. constraint_manager:\l\
  3245. \ \ equiv\ classes:\l\
  3246. \ \ \ \ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3247. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3248. \ \ \ \ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  3249. \ \ \ \ ec3:\ \{INIT_VAL(str_6(D))\}\l\
  3250. \ \ constraints:\l\
  3251. \ \ \ \ 0:\ ec2:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec0:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3252. \ \ \ \ 1:\ ec3:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3253. \l\
  3254. "];
  3255. }
  3256. subgraph "cluster_supernode_4" {
  3257. style="dashed";
  3258. label="SN: 4 (bb: 4; scc: 4)";
  3259. exploded_node_86 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 86\l\
  3260. callstring:\ []\l\
  3261. before\ SN:\ 4\ (NULL\ from-edge)\l\
  3262. \l\
  3263. rmodel:\l\
  3264. stack\ depth:\ 1\l\
  3265. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3266. clusters\ within\ root\ region\l\
  3267. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3268. \ \ \ \ ESCAPED\l\
  3269. clusters\ within\ heap\ region\l\
  3270. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(49)\l\
  3271. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(49)\}\l\
  3272. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  3273. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  3274. \ \ cluster\ for:\ ret_9:\ &HEAP_ALLOCATED_REGION(49)\l\
  3275. m_called_unknown_fn:\ FALSE\l\
  3276. constraint_manager:\l\
  3277. \ \ equiv\ classes:\l\
  3278. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\l\
  3279. \ \ \ \ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3280. \ \ \ \ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3281. \ \ \ \ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  3282. \ \ \ \ ec4:\ \{INIT_VAL(str_6(D))\}\l\
  3283. \ \ constraints:\l\
  3284. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3285. \ \ \ \ 1:\ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3286. \ \ \ \ 2:\ ec4:\ \{INIT_VAL(str_6(D))\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3287. malloc:\ \l\
  3288. \ \ 0x365af90:\ &HEAP_ALLOCATED_REGION(49):\ nonnull\ (\{free\})\ ('ret_9')\l\
  3289. \l\
  3290. "];
  3291. exploded_node_87 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 87\l\
  3292. callstring:\ []\l\
  3293. before\ (SN:\ 4\ stmt:\ 0):\ \l\
  3294. #\ DEBUG\ ret\ =\>\ ret_9\l\
  3295. 119\ \|\ \ \ \ \ \ \ \ \ ret\ =\ dp_calloc(1,\ (strlen(str)\ +\ 1));\l\
  3296. \ \ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\l\
  3297. \l\
  3298. rmodel:\l\
  3299. stack\ depth:\ 1\l\
  3300. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3301. clusters\ within\ root\ region\l\
  3302. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3303. \ \ \ \ ESCAPED\l\
  3304. clusters\ within\ heap\ region\l\
  3305. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(49)\l\
  3306. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(49)\}\l\
  3307. \ \ \ \ value:\ 'int'\ \{(int)0\}\l\
  3308. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  3309. \ \ cluster\ for:\ ret_9:\ &HEAP_ALLOCATED_REGION(49)\l\
  3310. m_called_unknown_fn:\ FALSE\l\
  3311. constraint_manager:\l\
  3312. \ \ equiv\ classes:\l\
  3313. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\l\
  3314. \ \ \ \ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3315. \ \ \ \ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3316. \ \ \ \ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  3317. \ \ \ \ ec4:\ \{INIT_VAL(str_6(D))\}\l\
  3318. \ \ constraints:\l\
  3319. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3320. \ \ \ \ 1:\ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3321. \ \ \ \ 2:\ ec4:\ \{INIT_VAL(str_6(D))\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3322. malloc:\ \l\
  3323. \ \ 0x365af90:\ &HEAP_ALLOCATED_REGION(49):\ nonnull\ (\{free\})\ ('ret_9')\l\
  3324. \l\
  3325. stmts:\ 4\l\
  3326. \ \ 0:\ #\ DEBUG\ ret\ =\>\ ret_9\l\
  3327. \ \ 1:\ #\ DEBUG\ BEGIN_STMT\l\
  3328. \ \ 2:\ strcpy\ (ret_9,\ str_6(D));\l\
  3329. \ \ 3:\ #\ DEBUG\ BEGIN_STMT\l\
  3330. "];
  3331. exploded_node_88 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 88\l\
  3332. callstring:\ []\l\
  3333. after\ SN:\ 4\l\
  3334. rmodel:\l\
  3335. stack\ depth:\ 1\l\
  3336. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3337. clusters\ within\ root\ region\l\
  3338. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3339. \ \ \ \ ESCAPED\l\
  3340. clusters\ within\ heap\ region\l\
  3341. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(49)\l\
  3342. \ \ \ \ TOUCHED\l\
  3343. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(49)\}\l\
  3344. \ \ \ \ value:\ \ \{UNKNOWN()\}\l\
  3345. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  3346. \ \ cluster\ for:\ ret_9:\ &HEAP_ALLOCATED_REGION(49)\l\
  3347. m_called_unknown_fn:\ FALSE\l\
  3348. constraint_manager:\l\
  3349. \ \ equiv\ classes:\l\
  3350. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\l\
  3351. \ \ \ \ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3352. \ \ \ \ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3353. \ \ \ \ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  3354. \ \ \ \ ec4:\ \{INIT_VAL(str_6(D))\}\l\
  3355. \ \ constraints:\l\
  3356. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3357. \ \ \ \ 1:\ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3358. \ \ \ \ 2:\ ec4:\ \{INIT_VAL(str_6(D))\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3359. malloc:\ \l\
  3360. \ \ 0x365af90:\ &HEAP_ALLOCATED_REGION(49):\ nonnull\ (\{free\})\ ('ret_9')\l\
  3361. \l\
  3362. "];
  3363. }
  3364. subgraph "cluster_supernode_5" {
  3365. style="dashed";
  3366. label="SN: 5 (bb: 5; scc: 5)";
  3367. exploded_node_10 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 10\ (bulk\ merged)\l\
  3368. callstring:\ []\l\
  3369. before\ SN:\ 5\ (from\ SN:\ 1)\l\
  3370. _4\ =\ PHI\ \<0B(2),\ \"\"(3),\ ret_9(4)\>.MEM_5\ =\ PHI\ \<.MEM_7(D)(2),\ .MEM_7(D)(3),\ .MEM_10(4)\>\l\
  3371. rmodel:\l\
  3372. stack\ depth:\ 1\l\
  3373. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3374. clusters\ within\ root\ region\l\
  3375. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3376. \ \ \ \ ESCAPED\l\
  3377. m_called_unknown_fn:\ FALSE\l\
  3378. constraint_manager:\l\
  3379. \ \ equiv\ classes:\l\
  3380. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ INIT_VAL(str_6(D))\ ==\ [m_constant]'0B'\}\l\
  3381. \ \ constraints:\l\
  3382. \l\
  3383. "];
  3384. exploded_node_14 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 14\ (bulk\ merged)\l\
  3385. callstring:\ []\l\
  3386. before\ SN:\ 5\ (from\ SN:\ 2)\l\
  3387. _4\ =\ PHI\ \<0B(2),\ \"\"(3),\ ret_9(4)\>.MEM_5\ =\ PHI\ \<.MEM_7(D)(2),\ .MEM_7(D)(3),\ .MEM_10(4)\>\l\
  3388. rmodel:\l\
  3389. stack\ depth:\ 1\l\
  3390. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3391. clusters\ within\ root\ region\l\
  3392. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3393. \ \ \ \ ESCAPED\l\
  3394. m_called_unknown_fn:\ FALSE\l\
  3395. constraint_manager:\l\
  3396. \ \ equiv\ classes:\l\
  3397. \ \ \ \ ec0:\ \{(char)0\ ==\ INIT_VAL((*INIT_VAL(str_6(D))))\ ==\ [m_constant]'0'\}\l\
  3398. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3399. \ \ \ \ ec2:\ \{INIT_VAL(str_6(D))\}\l\
  3400. \ \ constraints:\l\
  3401. \ \ \ \ 0:\ ec2:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3402. \l\
  3403. "];
  3404. exploded_node_19 [shape=none,margin=0,style=filled,fillcolor=azure,label="EN:\ 19\l\
  3405. callstring:\ []\l\
  3406. before\ (SN:\ 5\ stmt:\ 0):\ \l\
  3407. return\ _4;\l\
  3408. \l\
  3409. rmodel:\l\
  3410. stack\ depth:\ 1\l\
  3411. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3412. clusters\ within\ root\ region\l\
  3413. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3414. \ \ \ \ ESCAPED\l\
  3415. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  3416. \ \ cluster\ for:\ _4:\ (char\ *)0B\l\
  3417. m_called_unknown_fn:\ FALSE\l\
  3418. constraint_manager:\l\
  3419. \ \ equiv\ classes:\l\
  3420. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ INIT_VAL(str_6(D))\ ==\ [m_constant]'0B'\}\l\
  3421. \ \ constraints:\l\
  3422. malloc:\ \l\
  3423. \ \ 0x3627a30:\ INIT_VAL(str_6(D)):\ null\ ('str_6(D)')\l\
  3424. \l\
  3425. stmts:\ 1\l\
  3426. \ \ 0:\ return\ _4;\l\
  3427. "];
  3428. exploded_node_20 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 20\l\
  3429. callstring:\ []\l\
  3430. before\ (SN:\ 5\ stmt:\ 0):\ \l\
  3431. return\ _4;\l\
  3432. \l\
  3433. rmodel:\l\
  3434. stack\ depth:\ 1\l\
  3435. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3436. clusters\ within\ root\ region\l\
  3437. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3438. \ \ \ \ ESCAPED\l\
  3439. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  3440. \ \ cluster\ for:\ _4:\ &\"\"\l\
  3441. m_called_unknown_fn:\ FALSE\l\
  3442. constraint_manager:\l\
  3443. \ \ equiv\ classes:\l\
  3444. \ \ \ \ ec0:\ \{(char)0\ ==\ INIT_VAL((*INIT_VAL(str_6(D))))\ ==\ [m_constant]'0'\}\l\
  3445. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3446. \ \ \ \ ec2:\ \{INIT_VAL(str_6(D))\}\l\
  3447. \ \ constraints:\l\
  3448. \ \ \ \ 0:\ ec2:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3449. \l\
  3450. stmts:\ 1\l\
  3451. \ \ 0:\ return\ _4;\l\
  3452. "];
  3453. exploded_node_21 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 21\l\
  3454. callstring:\ []\l\
  3455. after\ SN:\ 5\l\
  3456. rmodel:\l\
  3457. stack\ depth:\ 1\l\
  3458. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3459. clusters\ within\ root\ region\l\
  3460. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3461. \ \ \ \ ESCAPED\l\
  3462. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  3463. \ \ cluster\ for:\ _4:\ &\"\"\l\
  3464. \ \ cluster\ for:\ \<anonymous\>:\ &\"\"\l\
  3465. m_called_unknown_fn:\ FALSE\l\
  3466. constraint_manager:\l\
  3467. \ \ equiv\ classes:\l\
  3468. \ \ \ \ ec0:\ \{(char)0\ ==\ INIT_VAL((*INIT_VAL(str_6(D))))\ ==\ [m_constant]'0'\}\l\
  3469. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3470. \ \ \ \ ec2:\ \{INIT_VAL(str_6(D))\}\l\
  3471. \ \ constraints:\l\
  3472. \ \ \ \ 0:\ ec2:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3473. \l\
  3474. "];
  3475. exploded_node_22 [shape=none,margin=0,style=filled,fillcolor=azure,label="EN:\ 22\l\
  3476. callstring:\ []\l\
  3477. after\ SN:\ 5\l\
  3478. rmodel:\l\
  3479. stack\ depth:\ 1\l\
  3480. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3481. clusters\ within\ root\ region\l\
  3482. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3483. \ \ \ \ ESCAPED\l\
  3484. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  3485. \ \ cluster\ for:\ _4:\ (char\ *)0B\l\
  3486. \ \ cluster\ for:\ \<anonymous\>:\ (char\ *)0B\l\
  3487. m_called_unknown_fn:\ FALSE\l\
  3488. constraint_manager:\l\
  3489. \ \ equiv\ classes:\l\
  3490. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ INIT_VAL(str_6(D))\ ==\ [m_constant]'0B'\}\l\
  3491. \ \ constraints:\l\
  3492. malloc:\ \l\
  3493. \ \ 0x3627a30:\ INIT_VAL(str_6(D)):\ null\ ('str_6(D)')\l\
  3494. \l\
  3495. "];
  3496. exploded_node_89 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 89\l\
  3497. callstring:\ []\l\
  3498. before\ SN:\ 5\ (from\ SN:\ 4)\l\
  3499. _4\ =\ PHI\ \<0B(2),\ \"\"(3),\ ret_9(4)\>.MEM_5\ =\ PHI\ \<.MEM_7(D)(2),\ .MEM_7(D)(3),\ .MEM_10(4)\>\l\
  3500. rmodel:\l\
  3501. stack\ depth:\ 1\l\
  3502. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3503. clusters\ within\ root\ region\l\
  3504. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3505. \ \ \ \ ESCAPED\l\
  3506. clusters\ within\ heap\ region\l\
  3507. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(49)\l\
  3508. \ \ \ \ TOUCHED\l\
  3509. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(49)\}\l\
  3510. \ \ \ \ value:\ \ \{UNKNOWN()\}\l\
  3511. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  3512. \ \ cluster\ for:\ ret_9:\ &HEAP_ALLOCATED_REGION(49)\l\
  3513. m_called_unknown_fn:\ FALSE\l\
  3514. constraint_manager:\l\
  3515. \ \ equiv\ classes:\l\
  3516. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\l\
  3517. \ \ \ \ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3518. \ \ \ \ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3519. \ \ \ \ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  3520. \ \ \ \ ec4:\ \{INIT_VAL(str_6(D))\}\l\
  3521. \ \ constraints:\l\
  3522. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3523. \ \ \ \ 1:\ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3524. \ \ \ \ 2:\ ec4:\ \{INIT_VAL(str_6(D))\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3525. malloc:\ \l\
  3526. \ \ 0x365af90:\ &HEAP_ALLOCATED_REGION(49):\ nonnull\ (\{free\})\ ('ret_9')\l\
  3527. \l\
  3528. "];
  3529. exploded_node_90 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 90\l\
  3530. callstring:\ []\l\
  3531. before\ (SN:\ 5\ stmt:\ 0):\ \l\
  3532. return\ _4;\l\
  3533. \l\
  3534. rmodel:\l\
  3535. stack\ depth:\ 1\l\
  3536. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3537. clusters\ within\ root\ region\l\
  3538. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3539. \ \ \ \ ESCAPED\l\
  3540. clusters\ within\ heap\ region\l\
  3541. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(49)\l\
  3542. \ \ \ \ TOUCHED\l\
  3543. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(49)\}\l\
  3544. \ \ \ \ value:\ \ \{UNKNOWN()\}\l\
  3545. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  3546. \ \ cluster\ for:\ ret_9:\ &HEAP_ALLOCATED_REGION(49)\l\
  3547. \ \ cluster\ for:\ _4:\ &HEAP_ALLOCATED_REGION(49)\l\
  3548. m_called_unknown_fn:\ FALSE\l\
  3549. constraint_manager:\l\
  3550. \ \ equiv\ classes:\l\
  3551. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\l\
  3552. \ \ \ \ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3553. \ \ \ \ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3554. \ \ \ \ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  3555. \ \ \ \ ec4:\ \{INIT_VAL(str_6(D))\}\l\
  3556. \ \ constraints:\l\
  3557. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3558. \ \ \ \ 1:\ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3559. \ \ \ \ 2:\ ec4:\ \{INIT_VAL(str_6(D))\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3560. malloc:\ \l\
  3561. \ \ 0x365af90:\ &HEAP_ALLOCATED_REGION(49):\ nonnull\ (\{free\})\ ('ret_9')\l\
  3562. \l\
  3563. stmts:\ 1\l\
  3564. \ \ 0:\ return\ _4;\l\
  3565. "];
  3566. exploded_node_91 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 91\l\
  3567. callstring:\ []\l\
  3568. after\ SN:\ 5\l\
  3569. rmodel:\l\
  3570. stack\ depth:\ 1\l\
  3571. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3572. clusters\ within\ root\ region\l\
  3573. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3574. \ \ \ \ ESCAPED\l\
  3575. clusters\ within\ heap\ region\l\
  3576. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(49)\l\
  3577. \ \ \ \ TOUCHED\l\
  3578. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(49)\}\l\
  3579. \ \ \ \ value:\ \ \{UNKNOWN()\}\l\
  3580. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  3581. \ \ cluster\ for:\ ret_9:\ &HEAP_ALLOCATED_REGION(49)\l\
  3582. \ \ cluster\ for:\ _4:\ &HEAP_ALLOCATED_REGION(49)\l\
  3583. \ \ cluster\ for:\ \<anonymous\>:\ &HEAP_ALLOCATED_REGION(49)\l\
  3584. m_called_unknown_fn:\ FALSE\l\
  3585. constraint_manager:\l\
  3586. \ \ equiv\ classes:\l\
  3587. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\l\
  3588. \ \ \ \ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3589. \ \ \ \ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3590. \ \ \ \ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  3591. \ \ \ \ ec4:\ \{INIT_VAL(str_6(D))\}\l\
  3592. \ \ constraints:\l\
  3593. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3594. \ \ \ \ 1:\ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3595. \ \ \ \ 2:\ ec4:\ \{INIT_VAL(str_6(D))\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3596. malloc:\ \l\
  3597. \ \ 0x365af90:\ &HEAP_ALLOCATED_REGION(49):\ nonnull\ (\{free\})\ ('ret_9')\l\
  3598. \l\
  3599. "];
  3600. }
  3601. subgraph "cluster_supernode_6" {
  3602. style="dashed";
  3603. label="SN: 6 (bb: 1; scc: 6)";
  3604. exploded_node_23 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 23\ (bulk\ merged)\l\
  3605. callstring:\ []\l\
  3606. before\ SN:\ 6\ (from\ SN:\ 5)\l\
  3607. \l\
  3608. rmodel:\l\
  3609. stack\ depth:\ 1\l\
  3610. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3611. clusters\ within\ root\ region\l\
  3612. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3613. \ \ \ \ ESCAPED\l\
  3614. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  3615. \ \ cluster\ for:\ \<anonymous\>:\ &\"\"\l\
  3616. m_called_unknown_fn:\ FALSE\l\
  3617. constraint_manager:\l\
  3618. \ \ equiv\ classes:\l\
  3619. \ \ \ \ ec0:\ \{(char)0\ ==\ INIT_VAL((*INIT_VAL(str_6(D))))\ ==\ [m_constant]'0'\}\l\
  3620. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3621. \ \ \ \ ec2:\ \{INIT_VAL(str_6(D))\}\l\
  3622. \ \ constraints:\l\
  3623. \ \ \ \ 0:\ ec2:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3624. \l\
  3625. "];
  3626. exploded_node_24 [shape=none,margin=0,style=filled,fillcolor=azure,label="EN:\ 24\ (bulk\ merged)\l\
  3627. callstring:\ []\l\
  3628. before\ SN:\ 6\ (from\ SN:\ 5)\l\
  3629. \l\
  3630. rmodel:\l\
  3631. stack\ depth:\ 1\l\
  3632. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3633. clusters\ within\ root\ region\l\
  3634. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3635. \ \ \ \ ESCAPED\l\
  3636. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  3637. \ \ cluster\ for:\ \<anonymous\>:\ (char\ *)0B\l\
  3638. m_called_unknown_fn:\ FALSE\l\
  3639. constraint_manager:\l\
  3640. \ \ equiv\ classes:\l\
  3641. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ INIT_VAL(str_6(D))\ ==\ [m_constant]'0B'\}\l\
  3642. \ \ constraints:\l\
  3643. malloc:\ \l\
  3644. \ \ 0x3627a30:\ INIT_VAL(str_6(D)):\ null\ ('str_6(D)')\l\
  3645. \l\
  3646. "];
  3647. exploded_node_25 [shape=none,margin=0,style=filled,fillcolor=lightgrey,label="EN:\ 25\l\
  3648. callstring:\ []\l\
  3649. after\ SN:\ 6\l\
  3650. rmodel:\l\
  3651. stack\ depth:\ 1\l\
  3652. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3653. clusters\ within\ root\ region\l\
  3654. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3655. \ \ \ \ ESCAPED\l\
  3656. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  3657. \ \ cluster\ for:\ \<anonymous\>:\ &\"\"\l\
  3658. m_called_unknown_fn:\ FALSE\l\
  3659. constraint_manager:\l\
  3660. \ \ equiv\ classes:\l\
  3661. \ \ \ \ ec0:\ \{(char)0\ ==\ INIT_VAL((*INIT_VAL(str_6(D))))\ ==\ [m_constant]'0'\}\l\
  3662. \ \ \ \ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3663. \ \ \ \ ec2:\ \{INIT_VAL(str_6(D))\}\l\
  3664. \ \ constraints:\l\
  3665. \ \ \ \ 0:\ ec2:\ \{INIT_VAL(str_6(D))\}\ !=\ ec1:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3666. \l\
  3667. "];
  3668. exploded_node_26 [shape=none,margin=0,style=filled,fillcolor=azure,label="EN:\ 26\l\
  3669. callstring:\ []\l\
  3670. after\ SN:\ 6\l\
  3671. rmodel:\l\
  3672. stack\ depth:\ 1\l\
  3673. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3674. clusters\ within\ root\ region\l\
  3675. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3676. \ \ \ \ ESCAPED\l\
  3677. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  3678. \ \ cluster\ for:\ \<anonymous\>:\ (char\ *)0B\l\
  3679. m_called_unknown_fn:\ FALSE\l\
  3680. constraint_manager:\l\
  3681. \ \ equiv\ classes:\l\
  3682. \ \ \ \ ec0:\ \{(void\ *)0B\ ==\ INIT_VAL(str_6(D))\ ==\ [m_constant]'0B'\}\l\
  3683. \ \ constraints:\l\
  3684. malloc:\ \l\
  3685. \ \ 0x3627a30:\ INIT_VAL(str_6(D)):\ null\ ('str_6(D)')\l\
  3686. \l\
  3687. "];
  3688. exploded_node_92 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 92\l\
  3689. callstring:\ []\l\
  3690. before\ SN:\ 6\ (from\ SN:\ 5)\l\
  3691. \l\
  3692. rmodel:\l\
  3693. stack\ depth:\ 1\l\
  3694. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3695. clusters\ within\ root\ region\l\
  3696. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3697. \ \ \ \ ESCAPED\l\
  3698. clusters\ within\ heap\ region\l\
  3699. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(49)\l\
  3700. \ \ \ \ TOUCHED\l\
  3701. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(49)\}\l\
  3702. \ \ \ \ value:\ \ \{UNKNOWN()\}\l\
  3703. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  3704. \ \ cluster\ for:\ ret_9:\ &HEAP_ALLOCATED_REGION(49)\l\
  3705. \ \ cluster\ for:\ \<anonymous\>:\ &HEAP_ALLOCATED_REGION(49)\l\
  3706. m_called_unknown_fn:\ FALSE\l\
  3707. constraint_manager:\l\
  3708. \ \ equiv\ classes:\l\
  3709. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\l\
  3710. \ \ \ \ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3711. \ \ \ \ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3712. \ \ \ \ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  3713. \ \ \ \ ec4:\ \{INIT_VAL(str_6(D))\}\l\
  3714. \ \ constraints:\l\
  3715. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3716. \ \ \ \ 1:\ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3717. \ \ \ \ 2:\ ec4:\ \{INIT_VAL(str_6(D))\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3718. malloc:\ \l\
  3719. \ \ 0x365af90:\ &HEAP_ALLOCATED_REGION(49):\ nonnull\ (\{free\})\ ('ret_9')\l\
  3720. \l\
  3721. "];
  3722. exploded_node_93 [shape=none,margin=0,style=filled,fillcolor=cornsilk,label="EN:\ 93\l\
  3723. callstring:\ []\l\
  3724. after\ SN:\ 6\l\
  3725. rmodel:\l\
  3726. stack\ depth:\ 1\l\
  3727. \ \ frame\ (index\ 0):\ frame:\ 'dp_strdup'@1\l\
  3728. clusters\ within\ root\ region\l\
  3729. \ \ cluster\ for:\ (*INIT_VAL(str_6(D)))\l\
  3730. \ \ \ \ ESCAPED\l\
  3731. clusters\ within\ heap\ region\l\
  3732. \ \ cluster\ for:\ HEAP_ALLOCATED_REGION(49)\l\
  3733. \ \ \ \ TOUCHED\l\
  3734. \ \ \ \ key:\ \ \ \{kind:\ default,\ region:\ HEAP_ALLOCATED_REGION(49)\}\l\
  3735. \ \ \ \ value:\ \ \{UNKNOWN()\}\l\
  3736. clusters\ within\ frame:\ 'dp_strdup'@1\l\
  3737. \ \ cluster\ for:\ ret_9:\ &HEAP_ALLOCATED_REGION(49)\l\
  3738. \ \ cluster\ for:\ \<anonymous\>:\ &HEAP_ALLOCATED_REGION(49)\l\
  3739. m_called_unknown_fn:\ FALSE\l\
  3740. constraint_manager:\l\
  3741. \ \ equiv\ classes:\l\
  3742. \ \ \ \ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\l\
  3743. \ \ \ \ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3744. \ \ \ \ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3745. \ \ \ \ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\l\
  3746. \ \ \ \ ec4:\ \{INIT_VAL(str_6(D))\}\l\
  3747. \ \ constraints:\l\
  3748. \ \ \ \ 0:\ ec0:\ \{&HEAP_ALLOCATED_REGION(49)\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3749. \ \ \ \ 1:\ ec3:\ \{INIT_VAL((*INIT_VAL(str_6(D))))\}\ !=\ ec1:\ \{(char)0\ ==\ [m_constant]'0'\}\l\
  3750. \ \ \ \ 2:\ ec4:\ \{INIT_VAL(str_6(D))\}\ !=\ ec2:\ \{(void\ *)0B\ ==\ [m_constant]'0B'\}\l\
  3751. malloc:\ \l\
  3752. \ \ 0x365af90:\ &HEAP_ALLOCATED_REGION(49):\ nonnull\ (\{free\})\ ('ret_9')\l\
  3753. \l\
  3754. "];
  3755. }
  3756. }
  3757. exploded_node_0 -> exploded_node_1 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3758. exploded_node_0 -> exploded_node_2 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3759. exploded_node_0 -> exploded_node_3 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3760. exploded_node_0 -> exploded_node_4 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3761. exploded_node_0 -> exploded_node_5 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3762. exploded_node_1 -> exploded_node_6 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3763. exploded_node_6 -> exploded_node_7 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags FALLTHRU | EXECUTABLE)"];
  3764. exploded_node_7 -> exploded_node_8 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3765. exploded_node_8 -> exploded_node_9 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3766. exploded_node_9 -> exploded_node_10 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="true (flags TRUE_VALUE | EXECUTABLE)"];
  3767. exploded_node_9 -> exploded_node_11 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="false (flags FALSE_VALUE | EXECUTABLE)"];
  3768. exploded_node_11 -> exploded_node_12 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3769. exploded_node_12 -> exploded_node_13 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3770. exploded_node_13 -> exploded_node_14 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="true (flags TRUE_VALUE | EXECUTABLE)"];
  3771. exploded_node_13 -> exploded_node_15 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="false (flags FALSE_VALUE | EXECUTABLE)"];
  3772. exploded_node_15 -> exploded_node_16 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3773. exploded_node_16 -> exploded_node_17 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3774. exploded_node_17 -> exploded_node_18 [style="solid,bold", color=red, weight=10, constraint=true, headlabel="call"];
  3775. exploded_node_10 -> exploded_node_19 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3776. exploded_node_14 -> exploded_node_20 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3777. exploded_node_20 -> exploded_node_21 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3778. exploded_node_19 -> exploded_node_22 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3779. exploded_node_21 -> exploded_node_23 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags EXECUTABLE)"];
  3780. exploded_node_22 -> exploded_node_24 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags EXECUTABLE)"];
  3781. exploded_node_23 -> exploded_node_25 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3782. exploded_node_24 -> exploded_node_26 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3783. exploded_node_2 -> exploded_node_27 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3784. exploded_node_27 -> exploded_node_28 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags FALLTHRU | EXECUTABLE)"];
  3785. exploded_node_28 -> exploded_node_29 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3786. exploded_node_29 -> exploded_node_30 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3787. exploded_node_30 -> exploded_node_31 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3788. exploded_node_31 -> exploded_node_32 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3789. exploded_node_32 -> exploded_node_33 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="true (flags TRUE_VALUE | EXECUTABLE)"];
  3790. exploded_node_32 -> exploded_node_34 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="false (flags FALSE_VALUE | EXECUTABLE)"];
  3791. exploded_node_33 -> exploded_node_35 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3792. exploded_node_35 -> exploded_node_36 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3793. exploded_node_36 -> exploded_node_37 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="true (flags TRUE_VALUE | EXECUTABLE)"];
  3794. exploded_node_36 -> exploded_node_38 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="false (flags FALSE_VALUE | EXECUTABLE)"];
  3795. exploded_node_37 -> exploded_node_39 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3796. exploded_node_39 -> exploded_node_40 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3797. exploded_node_34 -> exploded_node_41 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3798. exploded_node_38 -> exploded_node_41 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3799. exploded_node_41 -> exploded_node_42 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3800. exploded_node_42 -> exploded_node_43 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags EXECUTABLE)"];
  3801. exploded_node_43 -> exploded_node_44 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3802. exploded_node_18 -> exploded_node_45 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3803. exploded_node_45 -> exploded_node_46 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags FALLTHRU | EXECUTABLE)"];
  3804. exploded_node_3 -> exploded_node_47 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3805. exploded_node_47 -> exploded_node_48 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags FALLTHRU | EXECUTABLE)"];
  3806. exploded_node_46 -> exploded_node_49 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3807. exploded_node_49 -> exploded_node_50 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3808. exploded_node_50 -> exploded_node_51 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="true (flags TRUE_VALUE | EXECUTABLE)"];
  3809. exploded_node_50 -> exploded_node_52 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="false (flags FALSE_VALUE | EXECUTABLE)"];
  3810. exploded_node_48 -> exploded_node_53 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3811. exploded_node_53 -> exploded_node_54 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3812. exploded_node_54 -> exploded_node_55 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="true (flags TRUE_VALUE | EXECUTABLE)"];
  3813. exploded_node_54 -> exploded_node_56 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="false (flags FALSE_VALUE | EXECUTABLE)"];
  3814. exploded_node_51 -> exploded_node_57 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3815. exploded_node_57 -> exploded_node_58 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3816. exploded_node_58 -> exploded_node_59 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags FALLTHRU | EXECUTABLE)"];
  3817. exploded_node_55 -> exploded_node_60 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3818. exploded_node_60 -> exploded_node_61 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3819. exploded_node_61 -> exploded_node_62 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags FALLTHRU | EXECUTABLE)"];
  3820. exploded_node_52 -> exploded_node_63 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3821. exploded_node_59 -> exploded_node_63 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3822. exploded_node_63 -> exploded_node_64 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3823. exploded_node_64 -> exploded_node_65 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3824. exploded_node_65 -> exploded_node_66 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3825. exploded_node_66 -> exploded_node_67 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="true (flags TRUE_VALUE | EXECUTABLE)"];
  3826. exploded_node_66 -> exploded_node_68 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="false (flags FALSE_VALUE | EXECUTABLE)"];
  3827. exploded_node_56 -> exploded_node_69 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3828. exploded_node_62 -> exploded_node_69 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3829. exploded_node_69 -> exploded_node_70 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3830. exploded_node_70 -> exploded_node_71 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3831. exploded_node_71 -> exploded_node_72 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3832. exploded_node_72 -> exploded_node_73 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="true (flags TRUE_VALUE | EXECUTABLE)"];
  3833. exploded_node_72 -> exploded_node_74 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="false (flags FALSE_VALUE | EXECUTABLE)"];
  3834. exploded_node_67 -> exploded_node_75 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3835. exploded_node_75 -> exploded_node_76 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3836. exploded_node_73 -> exploded_node_77 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3837. exploded_node_77 -> exploded_node_78 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3838. exploded_node_68 -> exploded_node_79 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3839. exploded_node_79 -> exploded_node_80 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3840. exploded_node_80 -> exploded_node_81 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags EXECUTABLE)"];
  3841. exploded_node_74 -> exploded_node_82 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3842. exploded_node_82 -> exploded_node_83 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3843. exploded_node_83 -> exploded_node_84 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags EXECUTABLE)"];
  3844. exploded_node_81 -> exploded_node_85 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3845. exploded_node_85 -> exploded_node_86 [style="solid,bold", color=green, weight=10, constraint=true, headlabel="return"];
  3846. exploded_node_86 -> exploded_node_87 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3847. exploded_node_87 -> exploded_node_88 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3848. exploded_node_88 -> exploded_node_89 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags FALLTHRU | EXECUTABLE)"];
  3849. exploded_node_89 -> exploded_node_90 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3850. exploded_node_90 -> exploded_node_91 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3851. exploded_node_91 -> exploded_node_92 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags EXECUTABLE)"];
  3852. exploded_node_92 -> exploded_node_93 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3853. exploded_node_84 -> exploded_node_94 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3854. exploded_node_4 -> exploded_node_95 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3855. exploded_node_95 -> exploded_node_96 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags FALLTHRU | EXECUTABLE)"];
  3856. exploded_node_96 -> exploded_node_97 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3857. exploded_node_97 -> exploded_node_98 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3858. exploded_node_98 -> exploded_node_99 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="true (flags TRUE_VALUE | EXECUTABLE)"];
  3859. exploded_node_98 -> exploded_node_100 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="false (flags FALSE_VALUE | EXECUTABLE)"];
  3860. exploded_node_99 -> exploded_node_101 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3861. exploded_node_101 -> exploded_node_102 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3862. exploded_node_102 -> exploded_node_103 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags FALLTHRU | EXECUTABLE)"];
  3863. exploded_node_100 -> exploded_node_104 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3864. exploded_node_103 -> exploded_node_104 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3865. exploded_node_104 -> exploded_node_105 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3866. exploded_node_105 -> exploded_node_106 [style="solid,bold", color=red, weight=10, constraint=true, headlabel="call"];
  3867. exploded_node_106 -> exploded_node_107 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3868. exploded_node_107 -> exploded_node_108 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags FALLTHRU | EXECUTABLE)"];
  3869. exploded_node_108 -> exploded_node_109 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3870. exploded_node_109 -> exploded_node_110 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3871. exploded_node_110 -> exploded_node_111 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="true (flags TRUE_VALUE | EXECUTABLE)"];
  3872. exploded_node_110 -> exploded_node_112 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="false (flags FALSE_VALUE | EXECUTABLE)"];
  3873. exploded_node_111 -> exploded_node_113 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3874. exploded_node_113 -> exploded_node_114 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3875. exploded_node_114 -> exploded_node_115 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags FALLTHRU | EXECUTABLE)"];
  3876. exploded_node_112 -> exploded_node_116 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3877. exploded_node_115 -> exploded_node_116 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3878. exploded_node_116 -> exploded_node_117 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3879. exploded_node_117 -> exploded_node_118 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3880. exploded_node_118 -> exploded_node_119 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3881. exploded_node_119 -> exploded_node_120 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="true (flags TRUE_VALUE | EXECUTABLE)"];
  3882. exploded_node_119 -> exploded_node_121 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="false (flags FALSE_VALUE | EXECUTABLE)"];
  3883. exploded_node_120 -> exploded_node_122 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3884. exploded_node_122 -> exploded_node_123 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3885. exploded_node_121 -> exploded_node_124 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3886. exploded_node_124 -> exploded_node_125 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3887. exploded_node_125 -> exploded_node_126 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags EXECUTABLE)"];
  3888. exploded_node_126 -> exploded_node_127 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3889. exploded_node_127 -> exploded_node_128 [style="solid,bold", color=green, weight=10, constraint=true, headlabel="return"];
  3890. exploded_node_128 -> exploded_node_129 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3891. exploded_node_129 -> exploded_node_130 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3892. exploded_node_130 -> exploded_node_131 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags EXECUTABLE)"];
  3893. exploded_node_131 -> exploded_node_132 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3894. exploded_node_5 -> exploded_node_133 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3895. exploded_node_133 -> exploded_node_134 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags FALLTHRU | EXECUTABLE)"];
  3896. exploded_node_134 -> exploded_node_135 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3897. exploded_node_135 -> exploded_node_136 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3898. exploded_node_136 -> exploded_node_137 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="true (flags TRUE_VALUE | EXECUTABLE)"];
  3899. exploded_node_136 -> exploded_node_138 [style="solid,bold", color=black, weight=10, constraint=true, headlabel="false (flags FALSE_VALUE | EXECUTABLE)"];
  3900. exploded_node_137 -> exploded_node_139 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3901. exploded_node_139 -> exploded_node_140 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3902. exploded_node_140 -> exploded_node_141 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3903. exploded_node_141 -> exploded_node_142 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags FALLTHRU | EXECUTABLE)"];
  3904. exploded_node_138 -> exploded_node_143 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3905. exploded_node_143 -> exploded_node_144 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3906. exploded_node_144 -> exploded_node_145 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags FALLTHRU | EXECUTABLE)"];
  3907. exploded_node_142 -> exploded_node_146 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3908. exploded_node_145 -> exploded_node_147 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3909. exploded_node_147 -> exploded_node_148 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3910. exploded_node_146 -> exploded_node_149 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3911. exploded_node_148 -> exploded_node_150 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags EXECUTABLE)"];
  3912. exploded_node_149 -> exploded_node_151 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=" (flags EXECUTABLE)"];
  3913. exploded_node_150 -> exploded_node_152 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3914. exploded_node_151 -> exploded_node_153 [style="solid,bold", color=black, weight=10, constraint=true, headlabel=""];
  3915. }