1 2method ExampleJavaJniFuzzer.<init>():void 3{ 4............................. begin block 1 ............................. 5 .src "ExampleJavaJniFuzzer.java" 6 .line 18 7 .line 18 8 0| invoke-direct {v1}, java.lang.Object.<init>():void 9.............................. end block 1 .............................. 10............................. begin block 2 ............................. 11 3| const/4 v0, #+0 (0x00000000 | 0.00000) 12 4| invoke-static {v0}, com.code_intelligence.jazzer.runtime.CoverageMap.recordCoverage(int):void 13.............................. end block 2 .............................. 14............................. begin block 3 ............................. 15 7| return-void 16.............................. end block 3 .............................. 17} 18 19method ExampleJavaJniFuzzer.fuzzerTestOneInput(com.code_intelligence.jazzer.api.FuzzedDataProvider):void 20{ 21............................. begin block 1 ............................. 22 .params "data" 23 .src "ExampleJavaJniFuzzer.java" 24 .line 21 25 .line 21 26 0| invoke-interface {v5}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeRemainingAsAsciiString():java.lang.String 27.............................. end block 1 .............................. 28............................. begin block 2 ............................. 29 3| move-result-object v0 30 4| const/4 v1, #+1 (0x00000001 | 1.40130e-45) 31.............................. end block 2 .............................. 32 .try_begin_1 33............................. begin block 3 ............................. 34 5| invoke-static {v1}, com.code_intelligence.jazzer.runtime.CoverageMap.recordCoverage(int):void 35.............................. end block 3 .............................. 36 .try_end_1 37 catch(java.lang.ClassNotFoundException) : Label_2 38 catch(java.lang.InstantiationException) : Label_2 39 catch(java.lang.IllegalAccessException) : Label_2 40 .try_begin_2 41............................. begin block 4 ............................. 42 .line 23 43 .local v0, "input", java.lang.String 44 8| const-class v1, ExampleJavaJniFuzzer 45.............................. end block 4 .............................. 46............................. begin block 5 ............................. 47 10| invoke-virtual {v1}, java.lang.Class.getClassLoader():java.lang.ClassLoader 48.............................. end block 5 .............................. 49............................. begin block 6 ............................. 50 13| move-result-object v1 51 14| filled-new-array {v0}, java.lang.Object[] 52.............................. end block 6 .............................. 53............................. begin block 7 ............................. 54 17| move-result-object v2 55 18| const-method-handle v3, loadClass 56.............................. end block 7 .............................. 57............................. begin block 8 ............................. 58 20| const v4, #+1696909080 (0x6524c718 | 4.86338e+22) 59 23| invoke-static {v3,v1,v2,v4}, com.code_intelligence.jazzer.sanitizers.ReflectiveCall.loadClassHook(java.lang.invoke.MethodHandle, java.lang.Object, java.lang.Object[], int):void 60.............................. end block 8 .............................. 61............................. begin block 9 ............................. 62 26| const/4 v3, #+0 (0x00000000 | 0.00000) 63 27| aget-object v2, v2, v3 64.............................. end block 9 .............................. 65............................. begin block 10 ............................. 66 29| check-cast v2, java.lang.String 67.............................. end block 10 .............................. 68............................. begin block 11 ............................. 69 31| invoke-virtual {v1,v2}, java.lang.ClassLoader.loadClass(java.lang.String):java.lang.Class 70.............................. end block 11 .............................. 71............................. begin block 12 ............................. 72 34| move-result-object v1 73 35| invoke-virtual {v1}, java.lang.Class.newInstance():java.lang.Object 74.............................. end block 12 .............................. 75 .try_end_2 76 catch(java.lang.ClassNotFoundException) : Label_1 77 catch(java.lang.InstantiationException) : Label_1 78 catch(java.lang.IllegalAccessException) : Label_1 79............................. begin block 13 ............................. 80 .line 25 81 38| const/4 v1, #+2 (0x00000002 | 2.80260e-45) 82 39| invoke-static {v1}, com.code_intelligence.jazzer.runtime.CoverageMap.recordCoverage(int):void 83.............................. end block 13 .............................. 84............................. begin block 14 ............................. 85 42| goto Label_4 86.............................. end block 14 .............................. 87............................. begin block 15 ............................. 88Label_1: 89 .line 24 90 43| move-exception v1 91 44| goto Label_3 92.............................. end block 15 .............................. 93............................. begin block 16 ............................. 94Label_2: 95 .end_local v0 96 45| move-exception v1 97.............................. end block 16 .............................. 98............................. begin block 17 ............................. 99Label_3: 100 .restart_local v0 101 46| const/4 v1, #+3 (0x00000003 | 4.20390e-45) 102 47| invoke-static {v1}, com.code_intelligence.jazzer.runtime.CoverageMap.recordCoverage(int):void 103.............................. end block 17 .............................. 104............................. begin block 18 ............................. 105Label_4: 106 .line 26 107 50| const/4 v1, #+4 (0x00000004 | 5.60519e-45) 108 51| invoke-static {v1}, com.code_intelligence.jazzer.runtime.CoverageMap.recordCoverage(int):void 109.............................. end block 18 .............................. 110............................. begin block 19 ............................. 111 54| return-void 112.............................. end block 19 .............................. 113} 114 115method com.code_intelligence.jazzer.api.AutofuzzConstructionException.<init>():void 116{ 117............................. begin block 1 ............................. 118 .src "AutofuzzConstructionException.java" 119 .line 24 120 .line 24 121 0| invoke-direct {v0}, java.lang.RuntimeException.<init>():void 122.............................. end block 1 .............................. 123............................. begin block 2 ............................. 124 .line 25 125 3| return-void 126.............................. end block 2 .............................. 127} 128 129method com.code_intelligence.jazzer.api.AutofuzzConstructionException.<init>(java.lang.String):void 130{ 131............................. begin block 1 ............................. 132 .params "message" 133 .src "AutofuzzConstructionException.java" 134 .line 27 135 .line 27 136 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.String):void 137.............................. end block 1 .............................. 138............................. begin block 2 ............................. 139 .line 28 140 3| return-void 141.............................. end block 2 .............................. 142} 143 144method com.code_intelligence.jazzer.api.AutofuzzConstructionException.<init>(java.lang.Throwable):void 145{ 146............................. begin block 1 ............................. 147 .params "cause" 148 .src "AutofuzzConstructionException.java" 149 .line 30 150 .line 30 151 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.Throwable):void 152.............................. end block 1 .............................. 153............................. begin block 2 ............................. 154 .line 31 155 3| return-void 156.............................. end block 2 .............................. 157} 158 159method com.code_intelligence.jazzer.api.AutofuzzInvocationException.<init>(java.lang.Throwable):void 160{ 161............................. begin block 1 ............................. 162 .params "cause" 163 .src "AutofuzzInvocationException.java" 164 .line 24 165 .line 24 166 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.Throwable):void 167.............................. end block 1 .............................. 168............................. begin block 2 ............................. 169 .line 25 170 3| return-void 171.............................. end block 2 .............................. 172} 173 174method com.code_intelligence.jazzer.api.Consumer1.accept(java.lang.Object):void 175{ 176} 177 178method com.code_intelligence.jazzer.api.Consumer2.accept(java.lang.Object, java.lang.Object):void 179{ 180} 181 182method com.code_intelligence.jazzer.api.Consumer3.accept(java.lang.Object, java.lang.Object, java.lang.Object):void 183{ 184} 185 186method com.code_intelligence.jazzer.api.Consumer4.accept(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object):void 187{ 188} 189 190method com.code_intelligence.jazzer.api.Consumer5.accept(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object):void 191{ 192} 193 194method com.code_intelligence.jazzer.api.Function1.apply(java.lang.Object):java.lang.Object 195{ 196} 197 198method com.code_intelligence.jazzer.api.Function2.apply(java.lang.Object, java.lang.Object):java.lang.Object 199{ 200} 201 202method com.code_intelligence.jazzer.api.Function3.apply(java.lang.Object, java.lang.Object, java.lang.Object):java.lang.Object 203{ 204} 205 206method com.code_intelligence.jazzer.api.Function4.apply(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object):java.lang.Object 207{ 208} 209 210method com.code_intelligence.jazzer.api.Function5.apply(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object):java.lang.Object 211{ 212} 213 214method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeAsciiString(int):java.lang.String 215{ 216} 217 218method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeBoolean():boolean 219{ 220} 221 222method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeBooleans(int):boolean[] 223{ 224} 225 226method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeByte():byte 227{ 228} 229 230method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeByte(byte, byte):byte 231{ 232} 233 234method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeBytes(int):byte[] 235{ 236} 237 238method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeChar():char 239{ 240} 241 242method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeChar(char, char):char 243{ 244} 245 246method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeCharNoSurrogates():char 247{ 248} 249 250method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeDouble():double 251{ 252} 253 254method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeFloat():float 255{ 256} 257 258method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt():int 259{ 260} 261 262method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 263{ 264} 265 266method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInts(int):int[] 267{ 268} 269 270method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeLong():long 271{ 272} 273 274method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeLong(long, long):long 275{ 276} 277 278method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeLongs(int):long[] 279{ 280} 281 282method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeProbabilityDouble():double 283{ 284} 285 286method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeProbabilityFloat():float 287{ 288} 289 290method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeRegularDouble():double 291{ 292} 293 294method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeRegularDouble(double, double):double 295{ 296} 297 298method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeRegularFloat():float 299{ 300} 301 302method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeRegularFloat(float, float):float 303{ 304} 305 306method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeRemainingAsAsciiString():java.lang.String 307{ 308} 309 310method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeRemainingAsBytes():byte[] 311{ 312} 313 314method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeRemainingAsString():java.lang.String 315{ 316} 317 318method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeShort():short 319{ 320} 321 322method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeShort(short, short):short 323{ 324} 325 326method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeShorts(int):short[] 327{ 328} 329 330method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeString(int):java.lang.String 331{ 332} 333 334method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(byte[]):byte 335{ 336............................. begin block 1 ............................. 337 .params "array" 338 .src "FuzzedDataProvider.java" 339 .line 333 340 .line 333 341 0| array-length v0, v3 342.............................. end block 1 .............................. 343............................. begin block 2 ............................. 344 1| add-int/lit8 v0, v0, #-1 (0xffffffff | NaN) 345 3| const/4 v1, #+0 (0x00000000 | 0.00000) 346 4| invoke-interface {v2,v1,v0}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 347.............................. end block 2 .............................. 348............................. begin block 3 ............................. 349 7| move-result v0 350 8| aget-byte v0, v3, v0 351.............................. end block 3 .............................. 352............................. begin block 4 ............................. 353 10| return v0 354.............................. end block 4 .............................. 355} 356 357method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(char[]):char 358{ 359............................. begin block 1 ............................. 360 .params "array" 361 .src "FuzzedDataProvider.java" 362 .line 399 363 .line 399 364 0| array-length v0, v3 365.............................. end block 1 .............................. 366............................. begin block 2 ............................. 367 1| add-int/lit8 v0, v0, #-1 (0xffffffff | NaN) 368 3| const/4 v1, #+0 (0x00000000 | 0.00000) 369 4| invoke-interface {v2,v1,v0}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 370.............................. end block 2 .............................. 371............................. begin block 3 ............................. 372 7| move-result v0 373 8| aget-char v0, v3, v0 374.............................. end block 3 .............................. 375............................. begin block 4 ............................. 376 10| return v0 377.............................. end block 4 .............................. 378} 379 380method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(double[]):double 381{ 382............................. begin block 1 ............................. 383 .params "array" 384 .src "FuzzedDataProvider.java" 385 .line 377 386 .line 377 387 0| array-length v0, v3 388.............................. end block 1 .............................. 389............................. begin block 2 ............................. 390 1| add-int/lit8 v0, v0, #-1 (0xffffffff | NaN) 391 3| const/4 v1, #+0 (0x00000000 | 0.00000) 392 4| invoke-interface {v2,v1,v0}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 393.............................. end block 2 .............................. 394............................. begin block 3 ............................. 395 7| move-result v0 396 8| aget-wide v0:v1, v3, v0 397.............................. end block 3 .............................. 398............................. begin block 4 ............................. 399 10| return-wide v0:v1 400.............................. end block 4 .............................. 401} 402 403method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(float[]):float 404{ 405............................. begin block 1 ............................. 406 .params "array" 407 .src "FuzzedDataProvider.java" 408 .line 388 409 .line 388 410 0| array-length v0, v3 411.............................. end block 1 .............................. 412............................. begin block 2 ............................. 413 1| add-int/lit8 v0, v0, #-1 (0xffffffff | NaN) 414 3| const/4 v1, #+0 (0x00000000 | 0.00000) 415 4| invoke-interface {v2,v1,v0}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 416.............................. end block 2 .............................. 417............................. begin block 3 ............................. 418 7| move-result v0 419 8| aget v0, v3, v0 420.............................. end block 3 .............................. 421............................. begin block 4 ............................. 422 10| return v0 423.............................. end block 4 .............................. 424} 425 426method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(int[]):int 427{ 428............................. begin block 1 ............................. 429 .params "array" 430 .src "FuzzedDataProvider.java" 431 .line 355 432 .line 355 433 0| array-length v0, v3 434.............................. end block 1 .............................. 435............................. begin block 2 ............................. 436 1| add-int/lit8 v0, v0, #-1 (0xffffffff | NaN) 437 3| const/4 v1, #+0 (0x00000000 | 0.00000) 438 4| invoke-interface {v2,v1,v0}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 439.............................. end block 2 .............................. 440............................. begin block 3 ............................. 441 7| move-result v0 442 8| aget v0, v3, v0 443.............................. end block 3 .............................. 444............................. begin block 4 ............................. 445 10| return v0 446.............................. end block 4 .............................. 447} 448 449method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(long[]):long 450{ 451............................. begin block 1 ............................. 452 .params "array" 453 .src "FuzzedDataProvider.java" 454 .line 366 455 .line 366 456 0| array-length v0, v3 457.............................. end block 1 .............................. 458............................. begin block 2 ............................. 459 1| add-int/lit8 v0, v0, #-1 (0xffffffff | NaN) 460 3| const/4 v1, #+0 (0x00000000 | 0.00000) 461 4| invoke-interface {v2,v1,v0}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 462.............................. end block 2 .............................. 463............................. begin block 3 ............................. 464 7| move-result v0 465 8| aget-wide v0:v1, v3, v0 466.............................. end block 3 .............................. 467............................. begin block 4 ............................. 468 10| return-wide v0:v1 469.............................. end block 4 .............................. 470} 471 472method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(java.util.Collection):java.lang.Object 473{ 474............................. begin block 1 ............................. 475 .params "?" 476 .src "FuzzedDataProvider.java" 477 .line 291 478 .line 291 479 .local_ex v5, "collection", java.util.Collection, "Ljava/util/Collection<TT;>;" 480 0| invoke-interface {v5}, java.util.Collection.size():int 481.............................. end block 1 .............................. 482............................. begin block 2 ............................. 483 3| move-result v0 484 .line 292 485 .local v0, "size", int 486 4| if-eqz v0, Label_2 487.............................. end block 2 .............................. 488............................. begin block 3 ............................. 489 .line 295 490 6| instance-of v1, v5, java.util.List 491.............................. end block 3 .............................. 492............................. begin block 4 ............................. 493 8| if-eqz v1, Label_1 494.............................. end block 4 .............................. 495............................. begin block 5 ............................. 496 .line 296 497 10| move-object v1, v5 498 11| check-cast v1, java.util.List 499.............................. end block 5 .............................. 500............................. begin block 6 ............................. 501 13| add-int/lit8 v2, v0, #-1 (0xffffffff | NaN) 502 15| const/4 v3, #+0 (0x00000000 | 0.00000) 503 16| invoke-interface {v4,v3,v2}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 504.............................. end block 6 .............................. 505............................. begin block 7 ............................. 506 19| move-result v2 507 20| invoke-interface {v1,v2}, java.util.List.get(int):java.lang.Object 508.............................. end block 7 .............................. 509............................. begin block 8 ............................. 510 23| move-result-object v1 511 24| return-object v1 512.............................. end block 8 .............................. 513............................. begin block 9 ............................. 514Label_1: 515 .line 298 516 25| invoke-interface {v5}, java.util.Collection.toArray():java.lang.Object[] 517.............................. end block 9 .............................. 518............................. begin block 10 ............................. 519 28| move-result-object v1 520 29| invoke-interface {v4,v1}, com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(java.lang.Object[]):java.lang.Object 521.............................. end block 10 .............................. 522............................. begin block 11 ............................. 523 32| move-result-object v1 524 33| return-object v1 525.............................. end block 11 .............................. 526............................. begin block 12 ............................. 527Label_2: 528 .line 293 529 34| new-instance v1, java.lang.IllegalArgumentException 530.............................. end block 12 .............................. 531............................. begin block 13 ............................. 532 36| const-string v2, "collection is empty" 533.............................. end block 13 .............................. 534............................. begin block 14 ............................. 535 38| invoke-direct {v1,v2}, java.lang.IllegalArgumentException.<init>(java.lang.String):void 536.............................. end block 14 .............................. 537............................. begin block 15 ............................. 538 41| throw v1 539.............................. end block 15 .............................. 540} 541 542method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(java.lang.Object[]):java.lang.Object 543{ 544............................. begin block 1 ............................. 545 .params "?" 546 .src "FuzzedDataProvider.java" 547 .line 311 548 .line 311 549 .local_ex v3, "array", java.lang.Object[], "[TT;" 550 0| array-length v0, v3 551.............................. end block 1 .............................. 552............................. begin block 2 ............................. 553 1| add-int/lit8 v0, v0, #-1 (0xffffffff | NaN) 554 3| const/4 v1, #+0 (0x00000000 | 0.00000) 555 4| invoke-interface {v2,v1,v0}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 556.............................. end block 2 .............................. 557............................. begin block 3 ............................. 558 7| move-result v0 559 8| aget-object v0, v3, v0 560.............................. end block 3 .............................. 561............................. begin block 4 ............................. 562 10| return-object v0 563.............................. end block 4 .............................. 564} 565 566method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(short[]):short 567{ 568............................. begin block 1 ............................. 569 .params "array" 570 .src "FuzzedDataProvider.java" 571 .line 344 572 .line 344 573 0| array-length v0, v3 574.............................. end block 1 .............................. 575............................. begin block 2 ............................. 576 1| add-int/lit8 v0, v0, #-1 (0xffffffff | NaN) 577 3| const/4 v1, #+0 (0x00000000 | 0.00000) 578 4| invoke-interface {v2,v1,v0}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 579.............................. end block 2 .............................. 580............................. begin block 3 ............................. 581 7| move-result v0 582 8| aget-short v0, v3, v0 583.............................. end block 3 .............................. 584............................. begin block 4 ............................. 585 10| return v0 586.............................. end block 4 .............................. 587} 588 589method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(boolean[]):boolean 590{ 591............................. begin block 1 ............................. 592 .params "array" 593 .src "FuzzedDataProvider.java" 594 .line 322 595 .line 322 596 0| array-length v0, v3 597.............................. end block 1 .............................. 598............................. begin block 2 ............................. 599 1| add-int/lit8 v0, v0, #-1 (0xffffffff | NaN) 600 3| const/4 v1, #+0 (0x00000000 | 0.00000) 601 4| invoke-interface {v2,v1,v0}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 602.............................. end block 2 .............................. 603............................. begin block 3 ............................. 604 7| move-result v0 605 8| aget-boolean v0, v3, v0 606.............................. end block 3 .............................. 607............................. begin block 4 ............................. 608 10| return v0 609.............................. end block 4 .............................. 610} 611 612method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValues(java.util.Collection, int):java.util.List 613{ 614............................. begin block 1 ............................. 615 .params "?", "numOfElements" 616 .src "FuzzedDataProvider.java" 617 .line 413 618 .line 413 619 .local_ex v6, "collection", java.util.Collection, "Ljava/util/Collection<TT;>;" 620 0| invoke-interface {v6}, java.util.Collection.size():int 621.............................. end block 1 .............................. 622............................. begin block 2 ............................. 623 3| move-result v0 624 .line 414 625 .local v0, "size", int 626 4| if-eqz v0, Label_4 627.............................. end block 2 .............................. 628............................. begin block 3 ............................. 629 .line 417 630 6| invoke-interface {v6}, java.util.Collection.size():int 631.............................. end block 3 .............................. 632............................. begin block 4 ............................. 633 9| move-result v1 634 10| if-gt v7, v1, Label_3 635.............................. end block 4 .............................. 636............................. begin block 5 ............................. 637 .line 421 638 12| new-instance v1, java.util.ArrayList 639.............................. end block 5 .............................. 640............................. begin block 6 ............................. 641 14| invoke-direct {v1,v6}, java.util.ArrayList.<init>(java.util.Collection):void 642.............................. end block 6 .............................. 643............................. begin block 7 ............................. 644 .line 422 645 .local_ex v1, "remainingElements", java.util.List, "Ljava/util/List<TT;>;" 646 17| new-instance v2, java.util.ArrayList 647.............................. end block 7 .............................. 648............................. begin block 8 ............................. 649 19| invoke-direct {v2}, java.util.ArrayList.<init>():void 650.............................. end block 8 .............................. 651............................. begin block 9 ............................. 652 .line 423 653 .local_ex v2, "pickedElements", java.util.List, "Ljava/util/List<TT;>;" 654 22| const/4 v3, #+0 (0x00000000 | 0.00000) 655.............................. end block 9 .............................. 656............................. begin block 10 ............................. 657Label_1: 658 .local v3, "i", int 659 23| if-ge v3, v7, Label_2 660.............................. end block 10 .............................. 661............................. begin block 11 ............................. 662 .line 424 663 25| invoke-interface {v5,v1}, com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(java.util.Collection):java.lang.Object 664.............................. end block 11 .............................. 665............................. begin block 12 ............................. 666 28| move-result-object v4 667 .line 425 668 .local_ex v4, "element", java.lang.Object, "TT;" 669 29| invoke-interface {v2,v4}, java.util.List.add(java.lang.Object):boolean 670.............................. end block 12 .............................. 671............................. begin block 13 ............................. 672 .line 426 673 32| invoke-interface {v1,v4}, java.util.List.remove(java.lang.Object):boolean 674.............................. end block 13 .............................. 675............................. begin block 14 ............................. 676 .line 423 677 .end_local v4 678 35| add-int/lit8 v3, v3, #+1 (0x00000001 | 1.40130e-45) 679 37| goto Label_1 680.............................. end block 14 .............................. 681............................. begin block 15 ............................. 682Label_2: 683 .line 428 684 .end_local v3 685 38| return-object v2 686.............................. end block 15 .............................. 687............................. begin block 16 ............................. 688Label_3: 689 .line 418 690 .end_local v1 691 .end_local v2 692 39| new-instance v1, java.lang.IllegalArgumentException 693.............................. end block 16 .............................. 694............................. begin block 17 ............................. 695 41| const-string v2, "numOfElements exceeds collection.size()" 696.............................. end block 17 .............................. 697............................. begin block 18 ............................. 698 43| invoke-direct {v1,v2}, java.lang.IllegalArgumentException.<init>(java.lang.String):void 699.............................. end block 18 .............................. 700............................. begin block 19 ............................. 701 46| throw v1 702.............................. end block 19 .............................. 703............................. begin block 20 ............................. 704Label_4: 705 .line 415 706 47| new-instance v1, java.lang.IllegalArgumentException 707.............................. end block 20 .............................. 708............................. begin block 21 ............................. 709 49| const-string v2, "collection is empty" 710.............................. end block 21 .............................. 711............................. begin block 22 ............................. 712 51| invoke-direct {v1,v2}, java.lang.IllegalArgumentException.<init>(java.lang.String):void 713.............................. end block 22 .............................. 714............................. begin block 23 ............................. 715 54| throw v1 716.............................. end block 23 .............................. 717} 718 719method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValues(java.lang.Object[], int):java.util.List 720{ 721............................. begin block 1 ............................. 722 .params "?", "numOfElements" 723 .src "FuzzedDataProvider.java" 724 .line 442 725 .line 442 726 .local_ex v2, "array", java.lang.Object[], "[TT;" 727 0| invoke-static {v2}, java.util.Arrays.asList(java.lang.Object[]):java.util.List 728.............................. end block 1 .............................. 729............................. begin block 2 ............................. 730 3| move-result-object v0 731 4| invoke-interface {v1,v0,v3}, com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValues(java.util.Collection, int):java.util.List 732.............................. end block 2 .............................. 733............................. begin block 3 ............................. 734 7| move-result-object v0 735 8| return-object v0 736.............................. end block 3 .............................. 737} 738 739method com.code_intelligence.jazzer.api.FuzzedDataProvider.remainingBytes():int 740{ 741} 742 743method com.code_intelligence.jazzer.api.FuzzerSecurityIssueCritical.<init>():void 744{ 745............................. begin block 1 ............................. 746 .src "FuzzerSecurityIssueCritical.java" 747 .line 26 748 .line 26 749 0| invoke-direct {v0}, java.lang.RuntimeException.<init>():void 750.............................. end block 1 .............................. 751............................. begin block 2 ............................. 752 3| return-void 753.............................. end block 2 .............................. 754} 755 756method com.code_intelligence.jazzer.api.FuzzerSecurityIssueCritical.<init>(java.lang.String):void 757{ 758............................. begin block 1 ............................. 759 .params "message" 760 .src "FuzzerSecurityIssueCritical.java" 761 .line 29 762 .line 29 763 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.String):void 764.............................. end block 1 .............................. 765............................. begin block 2 ............................. 766 .line 30 767 3| return-void 768.............................. end block 2 .............................. 769} 770 771method com.code_intelligence.jazzer.api.FuzzerSecurityIssueCritical.<init>(java.lang.String, java.lang.Throwable):void 772{ 773............................. begin block 1 ............................. 774 .params "message", "cause" 775 .src "FuzzerSecurityIssueCritical.java" 776 .line 33 777 .line 33 778 0| invoke-direct {v0,v1,v2}, java.lang.RuntimeException.<init>(java.lang.String, java.lang.Throwable):void 779.............................. end block 1 .............................. 780............................. begin block 2 ............................. 781 .line 34 782 3| return-void 783.............................. end block 2 .............................. 784} 785 786method com.code_intelligence.jazzer.api.FuzzerSecurityIssueCritical.<init>(java.lang.Throwable):void 787{ 788............................. begin block 1 ............................. 789 .params "cause" 790 .src "FuzzerSecurityIssueCritical.java" 791 .line 37 792 .line 37 793 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.Throwable):void 794.............................. end block 1 .............................. 795............................. begin block 2 ............................. 796 .line 38 797 3| return-void 798.............................. end block 2 .............................. 799} 800 801method com.code_intelligence.jazzer.api.FuzzerSecurityIssueHigh.<init>():void 802{ 803............................. begin block 1 ............................. 804 .src "FuzzerSecurityIssueHigh.java" 805 .line 26 806 .line 26 807 0| invoke-direct {v0}, java.lang.RuntimeException.<init>():void 808.............................. end block 1 .............................. 809............................. begin block 2 ............................. 810 3| return-void 811.............................. end block 2 .............................. 812} 813 814method com.code_intelligence.jazzer.api.FuzzerSecurityIssueHigh.<init>(java.lang.String):void 815{ 816............................. begin block 1 ............................. 817 .params "message" 818 .src "FuzzerSecurityIssueHigh.java" 819 .line 29 820 .line 29 821 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.String):void 822.............................. end block 1 .............................. 823............................. begin block 2 ............................. 824 .line 30 825 3| return-void 826.............................. end block 2 .............................. 827} 828 829method com.code_intelligence.jazzer.api.FuzzerSecurityIssueHigh.<init>(java.lang.String, java.lang.Throwable):void 830{ 831............................. begin block 1 ............................. 832 .params "message", "cause" 833 .src "FuzzerSecurityIssueHigh.java" 834 .line 33 835 .line 33 836 0| invoke-direct {v0,v1,v2}, java.lang.RuntimeException.<init>(java.lang.String, java.lang.Throwable):void 837.............................. end block 1 .............................. 838............................. begin block 2 ............................. 839 .line 34 840 3| return-void 841.............................. end block 2 .............................. 842} 843 844method com.code_intelligence.jazzer.api.FuzzerSecurityIssueHigh.<init>(java.lang.Throwable):void 845{ 846............................. begin block 1 ............................. 847 .params "cause" 848 .src "FuzzerSecurityIssueHigh.java" 849 .line 37 850 .line 37 851 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.Throwable):void 852.............................. end block 1 .............................. 853............................. begin block 2 ............................. 854 .line 38 855 3| return-void 856.............................. end block 2 .............................. 857} 858 859method com.code_intelligence.jazzer.api.FuzzerSecurityIssueLow.<init>():void 860{ 861............................. begin block 1 ............................. 862 .src "FuzzerSecurityIssueLow.java" 863 .line 26 864 .line 26 865 0| invoke-direct {v0}, java.lang.RuntimeException.<init>():void 866.............................. end block 1 .............................. 867............................. begin block 2 ............................. 868 3| return-void 869.............................. end block 2 .............................. 870} 871 872method com.code_intelligence.jazzer.api.FuzzerSecurityIssueLow.<init>(java.lang.String):void 873{ 874............................. begin block 1 ............................. 875 .params "message" 876 .src "FuzzerSecurityIssueLow.java" 877 .line 29 878 .line 29 879 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.String):void 880.............................. end block 1 .............................. 881............................. begin block 2 ............................. 882 .line 30 883 3| return-void 884.............................. end block 2 .............................. 885} 886 887method com.code_intelligence.jazzer.api.FuzzerSecurityIssueLow.<init>(java.lang.String, java.lang.Throwable):void 888{ 889............................. begin block 1 ............................. 890 .params "message", "cause" 891 .src "FuzzerSecurityIssueLow.java" 892 .line 33 893 .line 33 894 0| invoke-direct {v0,v1,v2}, java.lang.RuntimeException.<init>(java.lang.String, java.lang.Throwable):void 895.............................. end block 1 .............................. 896............................. begin block 2 ............................. 897 .line 34 898 3| return-void 899.............................. end block 2 .............................. 900} 901 902method com.code_intelligence.jazzer.api.FuzzerSecurityIssueLow.<init>(java.lang.Throwable):void 903{ 904............................. begin block 1 ............................. 905 .params "cause" 906 .src "FuzzerSecurityIssueLow.java" 907 .line 37 908 .line 37 909 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.Throwable):void 910.............................. end block 1 .............................. 911............................. begin block 2 ............................. 912 .line 38 913 3| return-void 914.............................. end block 2 .............................. 915} 916 917method com.code_intelligence.jazzer.api.FuzzerSecurityIssueMedium.<init>():void 918{ 919............................. begin block 1 ............................. 920 .src "FuzzerSecurityIssueMedium.java" 921 .line 26 922 .line 26 923 0| invoke-direct {v0}, java.lang.RuntimeException.<init>():void 924.............................. end block 1 .............................. 925............................. begin block 2 ............................. 926 3| return-void 927.............................. end block 2 .............................. 928} 929 930method com.code_intelligence.jazzer.api.FuzzerSecurityIssueMedium.<init>(java.lang.String):void 931{ 932............................. begin block 1 ............................. 933 .params "message" 934 .src "FuzzerSecurityIssueMedium.java" 935 .line 29 936 .line 29 937 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.String):void 938.............................. end block 1 .............................. 939............................. begin block 2 ............................. 940 .line 30 941 3| return-void 942.............................. end block 2 .............................. 943} 944 945method com.code_intelligence.jazzer.api.FuzzerSecurityIssueMedium.<init>(java.lang.String, java.lang.Throwable):void 946{ 947............................. begin block 1 ............................. 948 .params "message", "cause" 949 .src "FuzzerSecurityIssueMedium.java" 950 .line 33 951 .line 33 952 0| invoke-direct {v0,v1,v2}, java.lang.RuntimeException.<init>(java.lang.String, java.lang.Throwable):void 953.............................. end block 1 .............................. 954............................. begin block 2 ............................. 955 .line 34 956 3| return-void 957.............................. end block 2 .............................. 958} 959 960method com.code_intelligence.jazzer.api.FuzzerSecurityIssueMedium.<init>(java.lang.Throwable):void 961{ 962............................. begin block 1 ............................. 963 .params "cause" 964 .src "FuzzerSecurityIssueMedium.java" 965 .line 37 966 .line 37 967 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.Throwable):void 968.............................. end block 1 .............................. 969............................. begin block 2 ............................. 970 .line 38 971 3| return-void 972.............................. end block 2 .............................. 973} 974 975method com.code_intelligence.jazzer.api.HookType.$values():com.code_intelligence.jazzer.api.HookType[] 976{ 977............................. begin block 1 ............................. 978 .src "HookType.java" 979 .line 21 980 .line 21 981 0| sget-object v0, com.code_intelligence.jazzer.api.HookType.BEFORE 982.............................. end block 1 .............................. 983............................. begin block 2 ............................. 984 2| sget-object v1, com.code_intelligence.jazzer.api.HookType.REPLACE 985.............................. end block 2 .............................. 986............................. begin block 3 ............................. 987 4| sget-object v2, com.code_intelligence.jazzer.api.HookType.AFTER 988.............................. end block 3 .............................. 989............................. begin block 4 ............................. 990 6| filled-new-array {v0,v1,v2}, com.code_intelligence.jazzer.api.HookType[] 991.............................. end block 4 .............................. 992............................. begin block 5 ............................. 993 9| move-result-object v0 994 10| return-object v0 995.............................. end block 5 .............................. 996} 997 998method com.code_intelligence.jazzer.api.HookType.<clinit>():void 999{ 1000............................. begin block 1 ............................. 1001 .src "HookType.java" 1002 .line 22 1003 .line 22 1004 0| new-instance v0, com.code_intelligence.jazzer.api.HookType 1005.............................. end block 1 .............................. 1006............................. begin block 2 ............................. 1007 2| const-string v1, "BEFORE" 1008.............................. end block 2 .............................. 1009............................. begin block 3 ............................. 1010 4| const/4 v2, #+0 (0x00000000 | 0.00000) 1011 5| invoke-direct {v0,v1,v2}, com.code_intelligence.jazzer.api.HookType.<init>(java.lang.String, int):void 1012.............................. end block 3 .............................. 1013............................. begin block 4 ............................. 1014 8| sput-object v0, com.code_intelligence.jazzer.api.HookType.BEFORE 1015.............................. end block 4 .............................. 1016............................. begin block 5 ............................. 1017 .line 23 1018 10| new-instance v0, com.code_intelligence.jazzer.api.HookType 1019.............................. end block 5 .............................. 1020............................. begin block 6 ............................. 1021 12| const-string v1, "REPLACE" 1022.............................. end block 6 .............................. 1023............................. begin block 7 ............................. 1024 14| const/4 v2, #+1 (0x00000001 | 1.40130e-45) 1025 15| invoke-direct {v0,v1,v2}, com.code_intelligence.jazzer.api.HookType.<init>(java.lang.String, int):void 1026.............................. end block 7 .............................. 1027............................. begin block 8 ............................. 1028 18| sput-object v0, com.code_intelligence.jazzer.api.HookType.REPLACE 1029.............................. end block 8 .............................. 1030............................. begin block 9 ............................. 1031 .line 24 1032 20| new-instance v0, com.code_intelligence.jazzer.api.HookType 1033.............................. end block 9 .............................. 1034............................. begin block 10 ............................. 1035 22| const-string v1, "AFTER" 1036.............................. end block 10 .............................. 1037............................. begin block 11 ............................. 1038 24| const/4 v2, #+2 (0x00000002 | 2.80260e-45) 1039 25| invoke-direct {v0,v1,v2}, com.code_intelligence.jazzer.api.HookType.<init>(java.lang.String, int):void 1040.............................. end block 11 .............................. 1041............................. begin block 12 ............................. 1042 28| sput-object v0, com.code_intelligence.jazzer.api.HookType.AFTER 1043.............................. end block 12 .............................. 1044............................. begin block 13 ............................. 1045 .line 21 1046 30| invoke-static {}, com.code_intelligence.jazzer.api.HookType.$values():com.code_intelligence.jazzer.api.HookType[] 1047.............................. end block 13 .............................. 1048............................. begin block 14 ............................. 1049 33| move-result-object v0 1050 34| sput-object v0, com.code_intelligence.jazzer.api.HookType.$VALUES 1051.............................. end block 14 .............................. 1052............................. begin block 15 ............................. 1053 36| return-void 1054.............................. end block 15 .............................. 1055} 1056 1057method com.code_intelligence.jazzer.api.HookType.<init>(java.lang.String, int):void 1058{ 1059............................. begin block 1 ............................. 1060 .params "?", "?" 1061 .src "HookType.java" 1062 .line 21 1063 .line 21 1064 0| invoke-direct {v0,v1,v2}, java.lang.Enum.<init>(java.lang.String, int):void 1065.............................. end block 1 .............................. 1066............................. begin block 2 ............................. 1067 3| return-void 1068.............................. end block 2 .............................. 1069} 1070 1071method com.code_intelligence.jazzer.api.HookType.valueOf(java.lang.String):com.code_intelligence.jazzer.api.HookType 1072{ 1073............................. begin block 1 ............................. 1074 .params "name" 1075 .src "HookType.java" 1076 .line 21 1077 .line 21 1078 0| const-class v0, com.code_intelligence.jazzer.api.HookType 1079.............................. end block 1 .............................. 1080............................. begin block 2 ............................. 1081 2| invoke-static {v0,v1}, java.lang.Enum.valueOf(java.lang.Class, java.lang.String):java.lang.Enum 1082.............................. end block 2 .............................. 1083............................. begin block 3 ............................. 1084 5| move-result-object v0 1085 6| check-cast v0, com.code_intelligence.jazzer.api.HookType 1086.............................. end block 3 .............................. 1087............................. begin block 4 ............................. 1088 8| return-object v0 1089.............................. end block 4 .............................. 1090} 1091 1092method com.code_intelligence.jazzer.api.HookType.values():com.code_intelligence.jazzer.api.HookType[] 1093{ 1094............................. begin block 1 ............................. 1095 .src "HookType.java" 1096 .line 21 1097 .line 21 1098 0| sget-object v0, com.code_intelligence.jazzer.api.HookType.$VALUES 1099.............................. end block 1 .............................. 1100............................. begin block 2 ............................. 1101 2| invoke-virtual {v0}, com.code_intelligence.jazzer.api.HookType[].clone():java.lang.Object 1102.............................. end block 2 .............................. 1103............................. begin block 3 ............................. 1104 5| move-result-object v0 1105 6| check-cast v0, com.code_intelligence.jazzer.api.HookType[] 1106.............................. end block 3 .............................. 1107............................. begin block 4 ............................. 1108 8| return-object v0 1109.............................. end block 4 .............................. 1110} 1111 1112method com.code_intelligence.jazzer.api.Jazzer.<clinit>():void 1113{ 1114............................. begin block 1 ............................. 1115 .src "Jazzer.java" 1116 .line 38 1117 .line 38 1118 0| const-class v0, byte[] 1119.............................. end block 1 .............................. 1120............................. begin block 2 ............................. 1121 2| const-string v1, "autofuzz" 1122.............................. end block 2 .............................. 1123............................. begin block 3 ............................. 1124 4| invoke-static {}, com.code_intelligence.jazzer.api.Jazzer.getLibFuzzerSeed():int 1125.............................. end block 3 .............................. 1126............................. begin block 4 ............................. 1127 7| move-result v2 1128 8| sput v2, com.code_intelligence.jazzer.api.Jazzer.SEED 1129.............................. end block 4 .............................. 1130............................. begin block 5 ............................. 1131 .line 62 1132 10| const/4 v2, #+0 (0x00000000 | 0.00000) 1133 .line 63 1134 .local_ex v2, "jazzerInternal", java.lang.Class, "Ljava/lang/Class<*>;" 1135 11| const/4 v3, #+0 (0x00000000 | 0.00000) 1136 .line 64 1137 .local v3, "onFuzzTargetReady", java.lang.invoke.MethodHandle 1138 12| const/4 v4, #+0 (0x00000000 | 0.00000) 1139 .line 65 1140 .local v4, "traceStrcmp", java.lang.invoke.MethodHandle 1141 13| const/4 v5, #+0 (0x00000000 | 0.00000) 1142 .line 66 1143 .local v5, "traceStrstr", java.lang.invoke.MethodHandle 1144 14| const/4 v6, #+0 (0x00000000 | 0.00000) 1145 .line 67 1146 .local v6, "traceMemcmp", java.lang.invoke.MethodHandle 1147 15| const/4 v7, #+0 (0x00000000 | 0.00000) 1148 .line 68 1149 .local v7, "tracePcIndir", java.lang.invoke.MethodHandle 1150 16| const/4 v8, #+0 (0x00000000 | 0.00000) 1151 .line 69 1152 .local v8, "consume", java.lang.invoke.MethodHandle 1153 17| const/4 v9, #+0 (0x00000000 | 0.00000) 1154 .line 70 1155 .local v9, "autofuzzFunction1", java.lang.invoke.MethodHandle 1156 18| const/4 v10, #+0 (0x00000000 | 0.00000) 1157 .line 71 1158 .local v10, "autofuzzFunction2", java.lang.invoke.MethodHandle 1159 19| const/4 v11, #+0 (0x00000000 | 0.00000) 1160 .line 72 1161 .local v11, "autofuzzFunction3", java.lang.invoke.MethodHandle 1162 20| const/4 v12, #+0 (0x00000000 | 0.00000) 1163 .line 73 1164 .local v12, "autofuzzFunction4", java.lang.invoke.MethodHandle 1165 21| const/4 v13, #+0 (0x00000000 | 0.00000) 1166 .line 74 1167 .local v13, "autofuzzFunction5", java.lang.invoke.MethodHandle 1168 22| const/4 v14, #+0 (0x00000000 | 0.00000) 1169 .line 75 1170 .local v14, "autofuzzConsumer1", java.lang.invoke.MethodHandle 1171 23| const/4 v15, #+0 (0x00000000 | 0.00000) 1172 .line 76 1173 .local v15, "autofuzzConsumer2", java.lang.invoke.MethodHandle 1174 24| const/16 v16, #+0 (0x00000000 | 0.00000) 1175 .line 77 1176 .local v16, "autofuzzConsumer3", java.lang.invoke.MethodHandle 1177 26| const/16 v17, #+0 (0x00000000 | 0.00000) 1178 .line 78 1179 .local v17, "autofuzzConsumer4", java.lang.invoke.MethodHandle 1180 28| const/16 v18, #+0 (0x00000000 | 0.00000) 1181 .line 80 1182 .local v18, "autofuzzConsumer5", java.lang.invoke.MethodHandle 1183 30| move-object/from16 v19, v2 1184.............................. end block 5 .............................. 1185 .try_begin_1 1186............................. begin block 6 ............................. 1187 .end_local v2 1188 .local_ex v19, "jazzerInternal", java.lang.Class, "Ljava/lang/Class<*>;" 1189 32| const-string v20, "com.code_intelligence.jazzer.runtime.JazzerInternal" 1190.............................. end block 6 .............................. 1191............................. begin block 7 ............................. 1192 34| invoke-static/range {v20..v20}, java.lang.Class.forName(java.lang.String):java.lang.Class 1193.............................. end block 7 .............................. 1194............................. begin block 8 ............................. 1195 37| move-result-object v20 1196.............................. end block 8 .............................. 1197 .try_end_1 1198 catch(java.lang.ClassNotFoundException) : Label_25 1199 catch(java.lang.NoSuchMethodException) : Label_23 1200 catch(java.lang.IllegalAccessException) : Label_23 1201............................. begin block 9 ............................. 1202 38| move-object/from16 v19, v20 1203.............................. end block 9 .............................. 1204 .try_begin_2 1205............................. begin block 10 ............................. 1206 .line 81 1207 40| sget-object v2, java.lang.Void.TYPE 1208.............................. end block 10 .............................. 1209 .try_end_2 1210 catch(java.lang.ClassNotFoundException) : Label_22 1211 catch(java.lang.NoSuchMethodException) : Label_21 1212 catch(java.lang.IllegalAccessException) : Label_21 1213............................. begin block 11 ............................. 1214 42| move-object/from16 v21, v3 1215.............................. end block 11 .............................. 1216 .try_begin_3 1217............................. begin block 12 ............................. 1218 .end_local v3 1219 .local v21, "onFuzzTargetReady", java.lang.invoke.MethodHandle 1220 44| const-class v3, java.lang.Runnable 1221.............................. end block 12 .............................. 1222............................. begin block 13 ............................. 1223 46| invoke-static {v2,v3}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class):java.lang.invoke.MethodType 1224.............................. end block 13 .............................. 1225............................. begin block 14 ............................. 1226 49| move-result-object v2 1227 .line 82 1228 .local v2, "onFuzzTargetReadyType", java.lang.invoke.MethodType 1229 50| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1230.............................. end block 14 .............................. 1231............................. begin block 15 ............................. 1232 53| move-result-object v3 1233.............................. end block 15 .............................. 1234 .try_end_3 1235 catch(java.lang.ClassNotFoundException) : Label_20 1236 catch(java.lang.NoSuchMethodException) : Label_19 1237 catch(java.lang.IllegalAccessException) : Label_19 1238............................. begin block 16 ............................. 1239 54| move-object/from16 v22, v4 1240.............................. end block 16 .............................. 1241 .try_begin_4 1242............................. begin block 17 ............................. 1243 .end_local v4 1244 .local v22, "traceStrcmp", java.lang.invoke.MethodHandle 1245 56| const-string v4, "registerOnFuzzTargetReadyCallback" 1246.............................. end block 17 .............................. 1247 .try_end_4 1248 catch(java.lang.ClassNotFoundException) : Label_18 1249 catch(java.lang.NoSuchMethodException) : Label_17 1250 catch(java.lang.IllegalAccessException) : Label_17 1251............................. begin block 18 ............................. 1252 58| move-object/from16 v23, v5 1253 60| move-object/from16 v5, v19 1254.............................. end block 18 .............................. 1255 .try_begin_5 1256............................. begin block 19 ............................. 1257 .end_local v19 1258 .local_ex v5, "jazzerInternal", java.lang.Class, "Ljava/lang/Class<*>;" 1259 .local v23, "traceStrstr", java.lang.invoke.MethodHandle 1260 62| invoke-virtual {v3,v5,v4,v2}, java.lang.invoke.MethodHandles$Lookup.findStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle 1261.............................. end block 19 .............................. 1262............................. begin block 20 ............................. 1263 65| move-result-object v3 1264.............................. end block 20 .............................. 1265 .try_end_5 1266 catch(java.lang.ClassNotFoundException) : Label_16 1267 catch(java.lang.NoSuchMethodException) : Label_15 1268 catch(java.lang.IllegalAccessException) : Label_15 1269 .try_begin_6 1270............................. begin block 21 ............................. 1271 .line 84 1272 .end_local v21 1273 .restart_local v3 1274 66| const-string v4, "com.code_intelligence.jazzer.runtime.TraceDataFlowNativeCallbacks" 1275.............................. end block 21 .............................. 1276............................. begin block 22 ............................. 1277 .line 85 1278 68| invoke-static {v4}, java.lang.Class.forName(java.lang.String):java.lang.Class 1279.............................. end block 22 .............................. 1280............................. begin block 23 ............................. 1281 71| move-result-object v4 1282 .line 88 1283 .local_ex v4, "traceDataFlowNativeCallbacks", java.lang.Class, "Ljava/lang/Class<*>;" 1284 72| move-object/from16 v19, v2 1285 .end_local v2 1286 .local v19, "onFuzzTargetReadyType", java.lang.invoke.MethodType 1287 74| sget-object v2, java.lang.Void.TYPE 1288.............................. end block 23 .............................. 1289 .try_end_6 1290 catch(java.lang.ClassNotFoundException) : Label_14 1291 catch(java.lang.NoSuchMethodException) : Label_13 1292 catch(java.lang.IllegalAccessException) : Label_13 1293............................. begin block 24 ............................. 1294 76| move-object/from16 v21, v3 1295.............................. end block 24 .............................. 1296 .try_begin_7 1297............................. begin block 25 ............................. 1298 .end_local v3 1299 .restart_local v21 1300 78| const-class v3, java.lang.String 1301.............................. end block 25 .............................. 1302 .try_end_7 1303 catch(java.lang.ClassNotFoundException) : Label_16 1304 catch(java.lang.NoSuchMethodException) : Label_15 1305 catch(java.lang.IllegalAccessException) : Label_15 1306............................. begin block 26 ............................. 1307 80| move-object/from16 v24, v5 1308 .end_local v5 1309 .local_ex v24, "jazzerInternal", java.lang.Class, "Ljava/lang/Class<*>;" 1310 82| const/4 v5, #+3 (0x00000003 | 4.20390e-45) 1311 83| move-object/from16 v25, v6 1312.............................. end block 26 .............................. 1313 .try_begin_8 1314............................. begin block 27 ............................. 1315 .end_local v6 1316 .local v25, "traceMemcmp", java.lang.invoke.MethodHandle 1317 85| new-array v6, v5, java.lang.Class[] 1318.............................. end block 27 .............................. 1319............................. begin block 28 ............................. 1320 87| const-class v26, java.lang.String 1321.............................. end block 28 .............................. 1322............................. begin block 29 ............................. 1323 89| const/16 v27, #+0 (0x00000000 | 0.00000) 1324 91| aput-object v26, v6, v27 1325.............................. end block 29 .............................. 1326............................. begin block 30 ............................. 1327 93| sget-object v26, java.lang.Integer.TYPE 1328.............................. end block 30 .............................. 1329............................. begin block 31 ............................. 1330 95| const/16 v20, #+1 (0x00000001 | 1.40130e-45) 1331 97| aput-object v26, v6, v20 1332.............................. end block 31 .............................. 1333............................. begin block 32 ............................. 1334 99| sget-object v26, java.lang.Integer.TYPE 1335.............................. end block 32 .............................. 1336............................. begin block 33 ............................. 1337 101| const/4 v5, #+2 (0x00000002 | 2.80260e-45) 1338 102| aput-object v26, v6, v5 1339.............................. end block 33 .............................. 1340............................. begin block 34 ............................. 1341 .line 89 1342 104| invoke-static {v2,v3,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1343.............................. end block 34 .............................. 1344............................. begin block 35 ............................. 1345 107| move-result-object v2 1346 .line 90 1347 .local v2, "traceStrcmpType", java.lang.invoke.MethodType 1348 108| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1349.............................. end block 35 .............................. 1350............................. begin block 36 ............................. 1351 111| move-result-object v3 1352 112| const-string v6, "traceStrcmp" 1353.............................. end block 36 .............................. 1354............................. begin block 37 ............................. 1355 114| invoke-virtual {v3,v4,v6,v2}, java.lang.invoke.MethodHandles$Lookup.findStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle 1356.............................. end block 37 .............................. 1357............................. begin block 38 ............................. 1358 117| move-result-object v3 1359.............................. end block 38 .............................. 1360 .try_end_8 1361 catch(java.lang.ClassNotFoundException) : Label_12 1362 catch(java.lang.NoSuchMethodException) : Label_11 1363 catch(java.lang.IllegalAccessException) : Label_11 1364 .try_begin_9 1365............................. begin block 39 ............................. 1366 .line 92 1367 .end_local v22 1368 .local v3, "traceStrcmp", java.lang.invoke.MethodHandle 1369 118| sget-object v6, java.lang.Void.TYPE 1370.............................. end block 39 .............................. 1371............................. begin block 40 ............................. 1372 120| const-class v5, java.lang.String 1373.............................. end block 40 .............................. 1374 .try_end_9 1375 catch(java.lang.ClassNotFoundException) : Label_10 1376 catch(java.lang.NoSuchMethodException) : Label_9 1377 catch(java.lang.IllegalAccessException) : Label_9 1378............................. begin block 41 ............................. 1379 122| move-object/from16 v29, v2 1380 124| move-object/from16 v22, v3 1381 126| const/4 v2, #+2 (0x00000002 | 2.80260e-45) 1382.............................. end block 41 .............................. 1383 .try_begin_10 1384............................. begin block 42 ............................. 1385 .end_local v2 1386 .end_local v3 1387 .restart_local v22 1388 .local v29, "traceStrcmpType", java.lang.invoke.MethodType 1389 127| new-array v3, v2, java.lang.Class[] 1390.............................. end block 42 .............................. 1391............................. begin block 43 ............................. 1392 129| const-class v2, java.lang.String 1393.............................. end block 43 .............................. 1394............................. begin block 44 ............................. 1395 131| aput-object v2, v3, v27 1396.............................. end block 44 .............................. 1397............................. begin block 45 ............................. 1398 133| sget-object v2, java.lang.Integer.TYPE 1399.............................. end block 45 .............................. 1400............................. begin block 46 ............................. 1401 135| const/16 v20, #+1 (0x00000001 | 1.40130e-45) 1402 137| aput-object v2, v3, v20 1403.............................. end block 46 .............................. 1404............................. begin block 47 ............................. 1405 .line 93 1406 139| invoke-static {v6,v5,v3}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1407.............................. end block 47 .............................. 1408............................. begin block 48 ............................. 1409 142| move-result-object v2 1410 .line 94 1411 .local v2, "traceStrstrType", java.lang.invoke.MethodType 1412 143| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1413.............................. end block 48 .............................. 1414............................. begin block 49 ............................. 1415 146| move-result-object v3 1416 147| const-string v5, "traceStrstr" 1417.............................. end block 49 .............................. 1418............................. begin block 50 ............................. 1419 149| invoke-virtual {v3,v4,v5,v2}, java.lang.invoke.MethodHandles$Lookup.findStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle 1420.............................. end block 50 .............................. 1421............................. begin block 51 ............................. 1422 152| move-result-object v3 1423.............................. end block 51 .............................. 1424 .try_end_10 1425 catch(java.lang.ClassNotFoundException) : Label_12 1426 catch(java.lang.NoSuchMethodException) : Label_11 1427 catch(java.lang.IllegalAccessException) : Label_11 1428............................. begin block 52 ............................. 1429 153| move-object v5, v3 1430.............................. end block 52 .............................. 1431 .try_begin_11 1432............................. begin block 53 ............................. 1433 .line 96 1434 .end_local v23 1435 .local v5, "traceStrstr", java.lang.invoke.MethodHandle 1436 154| sget-object v3, java.lang.Void.TYPE 1437.............................. end block 53 .............................. 1438............................. begin block 54 ............................. 1439 156| const/4 v6, #+3 (0x00000003 | 4.20390e-45) 1440 157| new-array v6, v6, java.lang.Class[] 1441.............................. end block 54 .............................. 1442............................. begin block 55 ............................. 1443 159| aput-object v0, v6, v27 1444.............................. end block 55 .............................. 1445............................. begin block 56 ............................. 1446 161| sget-object v23, java.lang.Integer.TYPE 1447.............................. end block 56 .............................. 1448............................. begin block 57 ............................. 1449 163| const/16 v20, #+1 (0x00000001 | 1.40130e-45) 1450 165| aput-object v23, v6, v20 1451.............................. end block 57 .............................. 1452............................. begin block 58 ............................. 1453 167| sget-object v23, java.lang.Integer.TYPE 1454.............................. end block 58 .............................. 1455............................. begin block 59 ............................. 1456 169| const/16 v26, #+2 (0x00000002 | 2.80260e-45) 1457 171| aput-object v23, v6, v26 1458.............................. end block 59 .............................. 1459............................. begin block 60 ............................. 1460 .line 97 1461 173| invoke-static {v3,v0,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1462.............................. end block 60 .............................. 1463............................. begin block 61 ............................. 1464 176| move-result-object v0 1465 .line 98 1466 .local v0, "traceMemcmpType", java.lang.invoke.MethodType 1467 177| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1468.............................. end block 61 .............................. 1469............................. begin block 62 ............................. 1470 180| move-result-object v3 1471 181| const-string v6, "traceMemcmp" 1472.............................. end block 62 .............................. 1473............................. begin block 63 ............................. 1474 183| invoke-virtual {v3,v4,v6,v0}, java.lang.invoke.MethodHandles$Lookup.findStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle 1475.............................. end block 63 .............................. 1476............................. begin block 64 ............................. 1477 186| move-result-object v3 1478.............................. end block 64 .............................. 1479 .try_end_11 1480 catch(java.lang.ClassNotFoundException) : Label_8 1481 catch(java.lang.NoSuchMethodException) : Label_7 1482 catch(java.lang.IllegalAccessException) : Label_7 1483............................. begin block 65 ............................. 1484 187| move-object v6, v3 1485.............................. end block 65 .............................. 1486 .try_begin_12 1487............................. begin block 66 ............................. 1488 .line 100 1489 .end_local v25 1490 .restart_local v6 1491 188| sget-object v3, java.lang.Void.TYPE 1492.............................. end block 66 .............................. 1493............................. begin block 67 ............................. 1494 190| move-object/from16 v23, v0 1495 .end_local v0 1496 .local v23, "traceMemcmpType", java.lang.invoke.MethodType 1497 192| sget-object v0, java.lang.Integer.TYPE 1498.............................. end block 67 .............................. 1499 .try_end_12 1500 catch(java.lang.ClassNotFoundException) : Label_6 1501 catch(java.lang.NoSuchMethodException) : Label_5 1502 catch(java.lang.IllegalAccessException) : Label_5 1503............................. begin block 68 ............................. 1504 194| move-object/from16 v26, v2 1505 196| move-object/from16 v28, v5 1506 198| const/4 v2, #+1 (0x00000001 | 1.40130e-45) 1507.............................. end block 68 .............................. 1508 .try_begin_13 1509............................. begin block 69 ............................. 1510 .end_local v2 1511 .end_local v5 1512 .local v26, "traceStrstrType", java.lang.invoke.MethodType 1513 .local v28, "traceStrstr", java.lang.invoke.MethodHandle 1514 199| new-array v5, v2, java.lang.Class[] 1515.............................. end block 69 .............................. 1516............................. begin block 70 ............................. 1517 201| sget-object v2, java.lang.Integer.TYPE 1518.............................. end block 70 .............................. 1519............................. begin block 71 ............................. 1520 203| aput-object v2, v5, v27 1521.............................. end block 71 .............................. 1522............................. begin block 72 ............................. 1523 205| invoke-static {v3,v0,v5}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1524.............................. end block 72 .............................. 1525............................. begin block 73 ............................. 1526 208| move-result-object v0 1527 .line 101 1528 .local v0, "tracePcIndirType", java.lang.invoke.MethodType 1529 209| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1530.............................. end block 73 .............................. 1531............................. begin block 74 ............................. 1532 212| move-result-object v2 1533 213| const-string v3, "tracePcIndir" 1534.............................. end block 74 .............................. 1535............................. begin block 75 ............................. 1536 215| invoke-virtual {v2,v4,v3,v0}, java.lang.invoke.MethodHandles$Lookup.findStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle 1537.............................. end block 75 .............................. 1538............................. begin block 76 ............................. 1539 218| move-result-object v2 1540 219| move-object v7, v2 1541 .line 104 1542 220| const-string v2, "com.code_intelligence.jazzer.autofuzz.Meta" 1543.............................. end block 76 .............................. 1544............................. begin block 77 ............................. 1545 222| invoke-static {v2}, java.lang.Class.forName(java.lang.String):java.lang.Class 1546.............................. end block 77 .............................. 1547............................. begin block 78 ............................. 1548 225| move-result-object v2 1549 .line 105 1550 .local_ex v2, "metaClass", java.lang.Class, "Ljava/lang/Class<*>;" 1551 226| const-class v3, java.lang.Object 1552.............................. end block 78 .............................. 1553............................. begin block 79 ............................. 1554 228| const-class v5, com.code_intelligence.jazzer.api.FuzzedDataProvider 1555.............................. end block 79 .............................. 1556............................. begin block 80 ............................. 1557 230| move-object/from16 v25, v0 1558 232| move-object/from16 v30, v4 1559 234| const/4 v4, #+1 (0x00000001 | 1.40130e-45) 1560 .end_local v0 1561 .end_local v4 1562 .local v25, "tracePcIndirType", java.lang.invoke.MethodType 1563 .local_ex v30, "traceDataFlowNativeCallbacks", java.lang.Class, "Ljava/lang/Class<*>;" 1564 235| new-array v0, v4, java.lang.Class[] 1565.............................. end block 80 .............................. 1566............................. begin block 81 ............................. 1567 237| const-class v4, java.lang.Class 1568.............................. end block 81 .............................. 1569............................. begin block 82 ............................. 1570 239| aput-object v4, v0, v27 1571.............................. end block 82 .............................. 1572............................. begin block 83 ............................. 1573 .line 106 1574 241| invoke-static {v3,v5,v0}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1575.............................. end block 83 .............................. 1576............................. begin block 84 ............................. 1577 244| move-result-object v0 1578 .line 107 1579 .local v0, "consumeType", java.lang.invoke.MethodType 1580 245| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1581.............................. end block 84 .............................. 1582............................. begin block 85 ............................. 1583 248| move-result-object v3 1584 249| const-string v4, "consume" 1585.............................. end block 85 .............................. 1586............................. begin block 86 ............................. 1587 251| invoke-virtual {v3,v2,v4,v0}, java.lang.invoke.MethodHandles$Lookup.findStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle 1588.............................. end block 86 .............................. 1589............................. begin block 87 ............................. 1590 254| move-result-object v3 1591 255| move-object v8, v3 1592 .line 109 1593 256| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1594.............................. end block 87 .............................. 1595............................. begin block 88 ............................. 1596 259| move-result-object v3 1597 260| const-class v4, java.lang.Object 1598.............................. end block 88 .............................. 1599............................. begin block 89 ............................. 1600 262| const-class v5, com.code_intelligence.jazzer.api.FuzzedDataProvider 1601.............................. end block 89 .............................. 1602 .try_end_13 1603 catch(java.lang.ClassNotFoundException) : Label_4 1604 catch(java.lang.NoSuchMethodException) : Label_3 1605 catch(java.lang.IllegalAccessException) : Label_3 1606............................. begin block 90 ............................. 1607 264| move-object/from16 v32, v0 1608 266| move-object/from16 v31, v6 1609 268| const/4 v6, #+1 (0x00000001 | 1.40130e-45) 1610.............................. end block 90 .............................. 1611 .try_begin_14 1612............................. begin block 91 ............................. 1613 .end_local v0 1614 .end_local v6 1615 .local v31, "traceMemcmp", java.lang.invoke.MethodHandle 1616 .local v32, "consumeType", java.lang.invoke.MethodType 1617 269| new-array v0, v6, java.lang.Class[] 1618.............................. end block 91 .............................. 1619............................. begin block 92 ............................. 1620 271| const-class v6, com.code_intelligence.jazzer.api.Function1 1621.............................. end block 92 .............................. 1622............................. begin block 93 ............................. 1623 273| aput-object v6, v0, v27 1624.............................. end block 93 .............................. 1625............................. begin block 94 ............................. 1626 .line 110 1627 275| invoke-static {v4,v5,v0}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1628.............................. end block 94 .............................. 1629............................. begin block 95 ............................. 1630 278| move-result-object v0 1631 .line 109 1632 279| invoke-virtual {v3,v2,v1,v0}, java.lang.invoke.MethodHandles$Lookup.findStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle 1633.............................. end block 95 .............................. 1634............................. begin block 96 ............................. 1635 282| move-result-object v0 1636 283| move-object v9, v0 1637 .line 111 1638 284| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1639.............................. end block 96 .............................. 1640............................. begin block 97 ............................. 1641 287| move-result-object v0 1642 288| const-class v3, java.lang.Object 1643.............................. end block 97 .............................. 1644............................. begin block 98 ............................. 1645 290| const-class v4, com.code_intelligence.jazzer.api.FuzzedDataProvider 1646.............................. end block 98 .............................. 1647............................. begin block 99 ............................. 1648 292| const/4 v5, #+1 (0x00000001 | 1.40130e-45) 1649 293| new-array v6, v5, java.lang.Class[] 1650.............................. end block 99 .............................. 1651............................. begin block 100 ............................. 1652 295| const-class v5, com.code_intelligence.jazzer.api.Function2 1653.............................. end block 100 .............................. 1654............................. begin block 101 ............................. 1655 297| aput-object v5, v6, v27 1656.............................. end block 101 .............................. 1657............................. begin block 102 ............................. 1658 .line 112 1659 299| invoke-static {v3,v4,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1660.............................. end block 102 .............................. 1661............................. begin block 103 ............................. 1662 302| move-result-object v3 1663 .line 111 1664 303| invoke-virtual {v0,v2,v1,v3}, java.lang.invoke.MethodHandles$Lookup.findStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle 1665.............................. end block 103 .............................. 1666............................. begin block 104 ............................. 1667 306| move-result-object v0 1668 307| move-object v10, v0 1669 .line 113 1670 308| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1671.............................. end block 104 .............................. 1672............................. begin block 105 ............................. 1673 311| move-result-object v0 1674 312| const-class v3, java.lang.Object 1675.............................. end block 105 .............................. 1676............................. begin block 106 ............................. 1677 314| const-class v4, com.code_intelligence.jazzer.api.FuzzedDataProvider 1678.............................. end block 106 .............................. 1679............................. begin block 107 ............................. 1680 316| const/4 v5, #+1 (0x00000001 | 1.40130e-45) 1681 317| new-array v6, v5, java.lang.Class[] 1682.............................. end block 107 .............................. 1683............................. begin block 108 ............................. 1684 319| const-class v5, com.code_intelligence.jazzer.api.Function3 1685.............................. end block 108 .............................. 1686............................. begin block 109 ............................. 1687 321| aput-object v5, v6, v27 1688.............................. end block 109 .............................. 1689............................. begin block 110 ............................. 1690 .line 114 1691 323| invoke-static {v3,v4,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1692.............................. end block 110 .............................. 1693............................. begin block 111 ............................. 1694 326| move-result-object v3 1695 .line 113 1696 327| invoke-virtual {v0,v2,v1,v3}, java.lang.invoke.MethodHandles$Lookup.findStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle 1697.............................. end block 111 .............................. 1698............................. begin block 112 ............................. 1699 330| move-result-object v0 1700 331| move-object v11, v0 1701 .line 115 1702 332| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1703.............................. end block 112 .............................. 1704............................. begin block 113 ............................. 1705 335| move-result-object v0 1706 336| const-class v3, java.lang.Object 1707.............................. end block 113 .............................. 1708............................. begin block 114 ............................. 1709 338| const-class v4, com.code_intelligence.jazzer.api.FuzzedDataProvider 1710.............................. end block 114 .............................. 1711............................. begin block 115 ............................. 1712 340| const/4 v5, #+1 (0x00000001 | 1.40130e-45) 1713 341| new-array v6, v5, java.lang.Class[] 1714.............................. end block 115 .............................. 1715............................. begin block 116 ............................. 1716 343| const-class v5, com.code_intelligence.jazzer.api.Function4 1717.............................. end block 116 .............................. 1718............................. begin block 117 ............................. 1719 345| aput-object v5, v6, v27 1720.............................. end block 117 .............................. 1721............................. begin block 118 ............................. 1722 .line 116 1723 347| invoke-static {v3,v4,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1724.............................. end block 118 .............................. 1725............................. begin block 119 ............................. 1726 350| move-result-object v3 1727 .line 115 1728 351| invoke-virtual {v0,v2,v1,v3}, java.lang.invoke.MethodHandles$Lookup.findStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle 1729.............................. end block 119 .............................. 1730............................. begin block 120 ............................. 1731 354| move-result-object v0 1732 355| move-object v12, v0 1733 .line 117 1734 356| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1735.............................. end block 120 .............................. 1736............................. begin block 121 ............................. 1737 359| move-result-object v0 1738 360| const-class v3, java.lang.Object 1739.............................. end block 121 .............................. 1740............................. begin block 122 ............................. 1741 362| const-class v4, com.code_intelligence.jazzer.api.FuzzedDataProvider 1742.............................. end block 122 .............................. 1743............................. begin block 123 ............................. 1744 364| const/4 v5, #+1 (0x00000001 | 1.40130e-45) 1745 365| new-array v6, v5, java.lang.Class[] 1746.............................. end block 123 .............................. 1747............................. begin block 124 ............................. 1748 367| const-class v5, com.code_intelligence.jazzer.api.Function5 1749.............................. end block 124 .............................. 1750............................. begin block 125 ............................. 1751 369| aput-object v5, v6, v27 1752.............................. end block 125 .............................. 1753............................. begin block 126 ............................. 1754 .line 118 1755 371| invoke-static {v3,v4,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1756.............................. end block 126 .............................. 1757............................. begin block 127 ............................. 1758 374| move-result-object v3 1759 .line 117 1760 375| invoke-virtual {v0,v2,v1,v3}, java.lang.invoke.MethodHandles$Lookup.findStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle 1761.............................. end block 127 .............................. 1762............................. begin block 128 ............................. 1763 378| move-result-object v0 1764 379| move-object v13, v0 1765 .line 119 1766 380| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1767.............................. end block 128 .............................. 1768............................. begin block 129 ............................. 1769 383| move-result-object v0 1770 384| sget-object v3, java.lang.Void.TYPE 1771.............................. end block 129 .............................. 1772............................. begin block 130 ............................. 1773 386| const-class v4, com.code_intelligence.jazzer.api.FuzzedDataProvider 1774.............................. end block 130 .............................. 1775............................. begin block 131 ............................. 1776 388| const/4 v5, #+1 (0x00000001 | 1.40130e-45) 1777 389| new-array v6, v5, java.lang.Class[] 1778.............................. end block 131 .............................. 1779............................. begin block 132 ............................. 1780 391| const-class v5, com.code_intelligence.jazzer.api.Consumer1 1781.............................. end block 132 .............................. 1782............................. begin block 133 ............................. 1783 393| aput-object v5, v6, v27 1784.............................. end block 133 .............................. 1785............................. begin block 134 ............................. 1786 .line 120 1787 395| invoke-static {v3,v4,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1788.............................. end block 134 .............................. 1789............................. begin block 135 ............................. 1790 398| move-result-object v3 1791 .line 119 1792 399| invoke-virtual {v0,v2,v1,v3}, java.lang.invoke.MethodHandles$Lookup.findStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle 1793.............................. end block 135 .............................. 1794............................. begin block 136 ............................. 1795 402| move-result-object v0 1796 403| move-object v14, v0 1797 .line 121 1798 404| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1799.............................. end block 136 .............................. 1800............................. begin block 137 ............................. 1801 407| move-result-object v0 1802 408| sget-object v3, java.lang.Void.TYPE 1803.............................. end block 137 .............................. 1804............................. begin block 138 ............................. 1805 410| const-class v4, com.code_intelligence.jazzer.api.FuzzedDataProvider 1806.............................. end block 138 .............................. 1807............................. begin block 139 ............................. 1808 412| const/4 v5, #+1 (0x00000001 | 1.40130e-45) 1809 413| new-array v6, v5, java.lang.Class[] 1810.............................. end block 139 .............................. 1811............................. begin block 140 ............................. 1812 415| const-class v5, com.code_intelligence.jazzer.api.Consumer2 1813.............................. end block 140 .............................. 1814............................. begin block 141 ............................. 1815 417| aput-object v5, v6, v27 1816.............................. end block 141 .............................. 1817............................. begin block 142 ............................. 1818 .line 122 1819 419| invoke-static {v3,v4,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1820.............................. end block 142 .............................. 1821............................. begin block 143 ............................. 1822 422| move-result-object v3 1823 .line 121 1824 423| invoke-virtual {v0,v2,v1,v3}, java.lang.invoke.MethodHandles$Lookup.findStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle 1825.............................. end block 143 .............................. 1826............................. begin block 144 ............................. 1827 426| move-result-object v0 1828 427| move-object v15, v0 1829 .line 123 1830 428| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1831.............................. end block 144 .............................. 1832............................. begin block 145 ............................. 1833 431| move-result-object v0 1834 432| sget-object v3, java.lang.Void.TYPE 1835.............................. end block 145 .............................. 1836............................. begin block 146 ............................. 1837 434| const-class v4, com.code_intelligence.jazzer.api.FuzzedDataProvider 1838.............................. end block 146 .............................. 1839............................. begin block 147 ............................. 1840 436| const/4 v5, #+1 (0x00000001 | 1.40130e-45) 1841 437| new-array v6, v5, java.lang.Class[] 1842.............................. end block 147 .............................. 1843............................. begin block 148 ............................. 1844 439| const-class v5, com.code_intelligence.jazzer.api.Consumer3 1845.............................. end block 148 .............................. 1846............................. begin block 149 ............................. 1847 441| aput-object v5, v6, v27 1848.............................. end block 149 .............................. 1849............................. begin block 150 ............................. 1850 .line 124 1851 443| invoke-static {v3,v4,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1852.............................. end block 150 .............................. 1853............................. begin block 151 ............................. 1854 446| move-result-object v3 1855 .line 123 1856 447| invoke-virtual {v0,v2,v1,v3}, java.lang.invoke.MethodHandles$Lookup.findStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle 1857.............................. end block 151 .............................. 1858............................. begin block 152 ............................. 1859 450| move-result-object v0 1860 451| move-object/from16 v16, v0 1861 .line 125 1862 453| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1863.............................. end block 152 .............................. 1864............................. begin block 153 ............................. 1865 456| move-result-object v0 1866 457| sget-object v3, java.lang.Void.TYPE 1867.............................. end block 153 .............................. 1868............................. begin block 154 ............................. 1869 459| const-class v4, com.code_intelligence.jazzer.api.FuzzedDataProvider 1870.............................. end block 154 .............................. 1871............................. begin block 155 ............................. 1872 461| const/4 v5, #+1 (0x00000001 | 1.40130e-45) 1873 462| new-array v6, v5, java.lang.Class[] 1874.............................. end block 155 .............................. 1875............................. begin block 156 ............................. 1876 464| const-class v5, com.code_intelligence.jazzer.api.Consumer4 1877.............................. end block 156 .............................. 1878............................. begin block 157 ............................. 1879 466| aput-object v5, v6, v27 1880.............................. end block 157 .............................. 1881............................. begin block 158 ............................. 1882 .line 126 1883 468| invoke-static {v3,v4,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1884.............................. end block 158 .............................. 1885............................. begin block 159 ............................. 1886 471| move-result-object v3 1887 .line 125 1888 472| invoke-virtual {v0,v2,v1,v3}, java.lang.invoke.MethodHandles$Lookup.findStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle 1889.............................. end block 159 .............................. 1890............................. begin block 160 ............................. 1891 475| move-result-object v0 1892 476| move-object/from16 v17, v0 1893 .line 127 1894 478| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1895.............................. end block 160 .............................. 1896............................. begin block 161 ............................. 1897 481| move-result-object v0 1898 482| sget-object v3, java.lang.Void.TYPE 1899.............................. end block 161 .............................. 1900............................. begin block 162 ............................. 1901 484| const-class v4, com.code_intelligence.jazzer.api.FuzzedDataProvider 1902.............................. end block 162 .............................. 1903............................. begin block 163 ............................. 1904 486| const/4 v5, #+1 (0x00000001 | 1.40130e-45) 1905 487| new-array v6, v5, java.lang.Class[] 1906.............................. end block 163 .............................. 1907............................. begin block 164 ............................. 1908 489| const-class v5, com.code_intelligence.jazzer.api.Consumer5 1909.............................. end block 164 .............................. 1910............................. begin block 165 ............................. 1911 491| aput-object v5, v6, v27 1912.............................. end block 165 .............................. 1913............................. begin block 166 ............................. 1914 .line 128 1915 493| invoke-static {v3,v4,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1916.............................. end block 166 .............................. 1917............................. begin block 167 ............................. 1918 496| move-result-object v3 1919 .line 127 1920 497| invoke-virtual {v0,v2,v1,v3}, java.lang.invoke.MethodHandles$Lookup.findStatic(java.lang.Class, java.lang.String, java.lang.invoke.MethodType):java.lang.invoke.MethodHandle 1921.............................. end block 167 .............................. 1922............................. begin block 168 ............................. 1923 500| move-result-object v0 1924.............................. end block 168 .............................. 1925 .try_end_14 1926 catch(java.lang.ClassNotFoundException) : Label_2 1927 catch(java.lang.NoSuchMethodException) : Label_1 1928 catch(java.lang.IllegalAccessException) : Label_1 1929............................. begin block 169 ............................. 1930 501| move-object/from16 v18, v0 1931 .line 138 1932 .end_local v2 1933 .end_local v19 1934 .end_local v23 1935 .end_local v25 1936 .end_local v26 1937 .end_local v29 1938 .end_local v30 1939 .end_local v32 1940 503| move-object/from16 v3, v21 1941 505| move-object/from16 v4, v22 1942 507| move-object/from16 v19, v24 1943 509| move-object/from16 v5, v28 1944 511| move-object/from16 v6, v31 1945 513| goto/16 Label_27 1946.............................. end block 169 .............................. 1947............................. begin block 170 ............................. 1948Label_1: 1949 .line 132 1950 515| move-exception v0 1951 516| move-object/from16 v3, v21 1952 518| move-object/from16 v4, v22 1953 520| move-object/from16 v2, v24 1954 522| move-object/from16 v5, v28 1955 524| move-object/from16 v6, v31 1956 526| goto/16 Label_24 1957.............................. end block 170 .............................. 1958............................. begin block 171 ............................. 1959Label_2: 1960 .line 129 1961 528| move-exception v0 1962 529| move-object/from16 v3, v21 1963 531| move-object/from16 v4, v22 1964 533| move-object/from16 v2, v24 1965 535| move-object/from16 v5, v28 1966 537| move-object/from16 v6, v31 1967 539| goto/16 Label_26 1968.............................. end block 171 .............................. 1969............................. begin block 172 ............................. 1970Label_3: 1971 .line 132 1972 .end_local v31 1973 .restart_local v6 1974 541| move-exception v0 1975 542| move-object/from16 v31, v6 1976 544| move-object/from16 v3, v21 1977 546| move-object/from16 v4, v22 1978 548| move-object/from16 v2, v24 1979 550| move-object/from16 v5, v28 1980 .end_local v6 1981 .restart_local v31 1982 552| goto/16 Label_24 1983.............................. end block 172 .............................. 1984............................. begin block 173 ............................. 1985Label_4: 1986 .line 129 1987 .end_local v31 1988 .restart_local v6 1989 554| move-exception v0 1990 555| move-object/from16 v31, v6 1991 557| move-object/from16 v3, v21 1992 559| move-object/from16 v4, v22 1993 561| move-object/from16 v2, v24 1994 563| move-object/from16 v5, v28 1995 .end_local v6 1996 .restart_local v31 1997 565| goto/16 Label_26 1998.............................. end block 173 .............................. 1999............................. begin block 174 ............................. 2000Label_5: 2001 .line 132 2002 .end_local v28 2003 .end_local v31 2004 .restart_local v5 2005 .restart_local v6 2006 567| move-exception v0 2007 568| move-object/from16 v28, v5 2008 570| move-object/from16 v31, v6 2009 572| move-object/from16 v3, v21 2010 574| move-object/from16 v4, v22 2011 576| move-object/from16 v2, v24 2012 .end_local v5 2013 .end_local v6 2014 .restart_local v28 2015 .restart_local v31 2016 578| goto/16 Label_24 2017.............................. end block 174 .............................. 2018............................. begin block 175 ............................. 2019Label_6: 2020 .line 129 2021 .end_local v28 2022 .end_local v31 2023 .restart_local v5 2024 .restart_local v6 2025 580| move-exception v0 2026 581| move-object/from16 v28, v5 2027 583| move-object/from16 v31, v6 2028 585| move-object/from16 v3, v21 2029 587| move-object/from16 v4, v22 2030 589| move-object/from16 v2, v24 2031 .end_local v5 2032 .end_local v6 2033 .restart_local v28 2034 .restart_local v31 2035 591| goto/16 Label_26 2036.............................. end block 175 .............................. 2037............................. begin block 176 ............................. 2038Label_7: 2039 .line 132 2040 .end_local v28 2041 .end_local v31 2042 .restart_local v5 2043 .local v25, "traceMemcmp", java.lang.invoke.MethodHandle 2044 593| move-exception v0 2045 594| move-object/from16 v28, v5 2046 596| move-object/from16 v3, v21 2047 598| move-object/from16 v4, v22 2048 600| move-object/from16 v2, v24 2049 602| move-object/from16 v6, v25 2050 .end_local v5 2051 .restart_local v28 2052 604| goto/16 Label_24 2053.............................. end block 176 .............................. 2054............................. begin block 177 ............................. 2055Label_8: 2056 .line 129 2057 .end_local v28 2058 .restart_local v5 2059 606| move-exception v0 2060 607| move-object/from16 v28, v5 2061 609| move-object/from16 v3, v21 2062 611| move-object/from16 v4, v22 2063 613| move-object/from16 v2, v24 2064 615| move-object/from16 v6, v25 2065 .end_local v5 2066 .restart_local v28 2067 617| goto/16 Label_26 2068.............................. end block 177 .............................. 2069............................. begin block 178 ............................. 2070Label_9: 2071 .line 132 2072 .end_local v22 2073 .end_local v28 2074 .restart_local v3 2075 .local v23, "traceStrstr", java.lang.invoke.MethodHandle 2076 619| move-exception v0 2077 620| move-object/from16 v22, v3 2078 622| move-object/from16 v3, v21 2079 624| move-object/from16 v4, v22 2080 626| move-object/from16 v5, v23 2081 628| move-object/from16 v2, v24 2082 630| move-object/from16 v6, v25 2083 .end_local v3 2084 .restart_local v22 2085 632| goto/16 Label_24 2086.............................. end block 178 .............................. 2087............................. begin block 179 ............................. 2088Label_10: 2089 .line 129 2090 .end_local v22 2091 .restart_local v3 2092 634| move-exception v0 2093 635| move-object/from16 v22, v3 2094 637| move-object/from16 v3, v21 2095 639| move-object/from16 v4, v22 2096 641| move-object/from16 v5, v23 2097 643| move-object/from16 v2, v24 2098 645| move-object/from16 v6, v25 2099 .end_local v3 2100 .restart_local v22 2101 647| goto/16 Label_26 2102.............................. end block 179 .............................. 2103............................. begin block 180 ............................. 2104Label_11: 2105 .line 132 2106 649| move-exception v0 2107 650| move-object/from16 v3, v21 2108 652| move-object/from16 v4, v22 2109 654| move-object/from16 v5, v23 2110 656| move-object/from16 v2, v24 2111 658| move-object/from16 v6, v25 2112 660| goto/16 Label_24 2113.............................. end block 180 .............................. 2114............................. begin block 181 ............................. 2115Label_12: 2116 .line 129 2117 662| move-exception v0 2118 663| move-object/from16 v3, v21 2119 665| move-object/from16 v4, v22 2120 667| move-object/from16 v5, v23 2121 669| move-object/from16 v2, v24 2122 671| move-object/from16 v6, v25 2123 673| goto/16 Label_26 2124.............................. end block 181 .............................. 2125............................. begin block 182 ............................. 2126Label_13: 2127 .line 132 2128 .end_local v21 2129 .end_local v24 2130 .end_local v25 2131 .local v3, "onFuzzTargetReady", java.lang.invoke.MethodHandle 2132 .local_ex v5, "jazzerInternal", java.lang.Class, "Ljava/lang/Class<*>;" 2133 .restart_local v6 2134 675| move-exception v0 2135 676| move-object/from16 v21, v3 2136 678| move-object/from16 v24, v5 2137 680| move-object/from16 v25, v6 2138 682| move-object/from16 v4, v22 2139 684| move-object/from16 v5, v23 2140 686| move-object/from16 v2, v24 2141 .end_local v3 2142 .end_local v5 2143 .end_local v6 2144 .restart_local v21 2145 .restart_local v24 2146 .restart_local v25 2147 688| goto/16 Label_24 2148.............................. end block 182 .............................. 2149............................. begin block 183 ............................. 2150Label_14: 2151 .line 129 2152 .end_local v21 2153 .end_local v24 2154 .end_local v25 2155 .restart_local v3 2156 .restart_local v5 2157 .restart_local v6 2158 690| move-exception v0 2159 691| move-object/from16 v21, v3 2160 693| move-object/from16 v24, v5 2161 695| move-object/from16 v25, v6 2162 697| move-object/from16 v4, v22 2163 699| move-object/from16 v5, v23 2164 701| move-object/from16 v2, v24 2165 .end_local v3 2166 .end_local v5 2167 .end_local v6 2168 .restart_local v21 2169 .restart_local v24 2170 .restart_local v25 2171 703| goto/16 Label_26 2172.............................. end block 183 .............................. 2173............................. begin block 184 ............................. 2174Label_15: 2175 .line 132 2176 .end_local v24 2177 .end_local v25 2178 .restart_local v5 2179 .restart_local v6 2180 705| move-exception v0 2181 706| move-object/from16 v24, v5 2182 708| move-object/from16 v25, v6 2183 710| move-object/from16 v3, v21 2184 712| move-object/from16 v4, v22 2185 714| move-object/from16 v5, v23 2186 716| move-object/from16 v2, v24 2187 .end_local v5 2188 .end_local v6 2189 .restart_local v24 2190 .restart_local v25 2191 718| goto/16 Label_24 2192.............................. end block 184 .............................. 2193............................. begin block 185 ............................. 2194Label_16: 2195 .line 129 2196 .end_local v24 2197 .end_local v25 2198 .restart_local v5 2199 .restart_local v6 2200 720| move-exception v0 2201 721| move-object/from16 v24, v5 2202 723| move-object/from16 v25, v6 2203 725| move-object/from16 v3, v21 2204 727| move-object/from16 v4, v22 2205 729| move-object/from16 v5, v23 2206 731| move-object/from16 v2, v24 2207 .end_local v5 2208 .end_local v6 2209 .restart_local v24 2210 .restart_local v25 2211 733| goto/16 Label_26 2212.............................. end block 185 .............................. 2213............................. begin block 186 ............................. 2214Label_17: 2215 .line 132 2216 .end_local v23 2217 .end_local v24 2218 .end_local v25 2219 .local v5, "traceStrstr", java.lang.invoke.MethodHandle 2220 .restart_local v6 2221 .local_ex v19, "jazzerInternal", java.lang.Class, "Ljava/lang/Class<*>;" 2222 735| move-exception v0 2223 736| move-object/from16 v23, v5 2224 738| move-object/from16 v25, v6 2225 740| move-object/from16 v24, v19 2226 742| move-object/from16 v3, v21 2227 744| move-object/from16 v4, v22 2228 746| move-object/from16 v2, v24 2229 .end_local v5 2230 .end_local v6 2231 .end_local v19 2232 .restart_local v23 2233 .restart_local v24 2234 .restart_local v25 2235 748| goto/16 Label_24 2236.............................. end block 186 .............................. 2237............................. begin block 187 ............................. 2238Label_18: 2239 .line 129 2240 .end_local v23 2241 .end_local v24 2242 .end_local v25 2243 .restart_local v5 2244 .restart_local v6 2245 .restart_local v19 2246 750| move-exception v0 2247 751| move-object/from16 v23, v5 2248 753| move-object/from16 v25, v6 2249 755| move-object/from16 v24, v19 2250 757| move-object/from16 v3, v21 2251 759| move-object/from16 v4, v22 2252 761| move-object/from16 v2, v24 2253 .end_local v5 2254 .end_local v6 2255 .end_local v19 2256 .restart_local v23 2257 .restart_local v24 2258 .restart_local v25 2259 763| goto/16 Label_26 2260.............................. end block 187 .............................. 2261............................. begin block 188 ............................. 2262Label_19: 2263 .line 132 2264 .end_local v22 2265 .end_local v23 2266 .end_local v24 2267 .end_local v25 2268 .local v4, "traceStrcmp", java.lang.invoke.MethodHandle 2269 .restart_local v5 2270 .restart_local v6 2271 .restart_local v19 2272 765| move-exception v0 2273 766| move-object/from16 v22, v4 2274 768| move-object/from16 v23, v5 2275 770| move-object/from16 v25, v6 2276 772| move-object/from16 v24, v19 2277 774| move-object/from16 v3, v21 2278 776| move-object/from16 v2, v24 2279 .end_local v4 2280 .end_local v5 2281 .end_local v6 2282 .end_local v19 2283 .restart_local v22 2284 .restart_local v23 2285 .restart_local v24 2286 .restart_local v25 2287 778| goto Label_24 2288.............................. end block 188 .............................. 2289............................. begin block 189 ............................. 2290Label_20: 2291 .line 129 2292 .end_local v22 2293 .end_local v23 2294 .end_local v24 2295 .end_local v25 2296 .restart_local v4 2297 .restart_local v5 2298 .restart_local v6 2299 .restart_local v19 2300 779| move-exception v0 2301 780| move-object/from16 v22, v4 2302 782| move-object/from16 v23, v5 2303 784| move-object/from16 v25, v6 2304 786| move-object/from16 v24, v19 2305 788| move-object/from16 v3, v21 2306 790| move-object/from16 v2, v24 2307 .end_local v4 2308 .end_local v5 2309 .end_local v6 2310 .end_local v19 2311 .restart_local v22 2312 .restart_local v23 2313 .restart_local v24 2314 .restart_local v25 2315 792| goto Label_26 2316.............................. end block 189 .............................. 2317............................. begin block 190 ............................. 2318Label_21: 2319 .line 132 2320 .end_local v21 2321 .end_local v22 2322 .end_local v23 2323 .end_local v24 2324 .end_local v25 2325 .restart_local v3 2326 .restart_local v4 2327 .restart_local v5 2328 .restart_local v6 2329 .restart_local v19 2330 793| move-exception v0 2331 794| move-object/from16 v21, v3 2332 796| move-object/from16 v22, v4 2333 798| move-object/from16 v23, v5 2334 800| move-object/from16 v25, v6 2335 802| move-object/from16 v24, v19 2336 804| move-object/from16 v2, v24 2337 .end_local v3 2338 .end_local v4 2339 .end_local v5 2340 .end_local v6 2341 .end_local v19 2342 .restart_local v21 2343 .restart_local v22 2344 .restart_local v23 2345 .restart_local v24 2346 .restart_local v25 2347 806| goto Label_24 2348.............................. end block 190 .............................. 2349............................. begin block 191 ............................. 2350Label_22: 2351 .line 129 2352 .end_local v21 2353 .end_local v22 2354 .end_local v23 2355 .end_local v24 2356 .end_local v25 2357 .restart_local v3 2358 .restart_local v4 2359 .restart_local v5 2360 .restart_local v6 2361 .restart_local v19 2362 807| move-exception v0 2363 808| move-object/from16 v21, v3 2364 810| move-object/from16 v22, v4 2365 812| move-object/from16 v23, v5 2366 814| move-object/from16 v25, v6 2367 816| move-object/from16 v24, v19 2368 818| move-object/from16 v2, v24 2369 .end_local v3 2370 .end_local v4 2371 .end_local v5 2372 .end_local v6 2373 .end_local v19 2374 .restart_local v21 2375 .restart_local v22 2376 .restart_local v23 2377 .restart_local v24 2378 .restart_local v25 2379 820| goto Label_26 2380.............................. end block 191 .............................. 2381............................. begin block 192 ............................. 2382Label_23: 2383 .line 132 2384 .end_local v21 2385 .end_local v22 2386 .end_local v23 2387 .end_local v24 2388 .end_local v25 2389 .restart_local v3 2390 .restart_local v4 2391 .restart_local v5 2392 .restart_local v6 2393 .restart_local v19 2394 821| move-exception v0 2395 822| move-object/from16 v21, v3 2396 824| move-object/from16 v22, v4 2397 826| move-object/from16 v23, v5 2398 828| move-object/from16 v25, v6 2399 830| move-object/from16 v2, v19 2400.............................. end block 192 .............................. 2401............................. begin block 193 ............................. 2402Label_24: 2403 .line 135 2404 .end_local v19 2405 .local v0, "e", java.lang.ReflectiveOperationException 2406 .local_ex v2, "jazzerInternal", java.lang.Class, "Ljava/lang/Class<*>;" 2407 832| sget-object v1, java.lang.System.err 2408.............................. end block 193 .............................. 2409............................. begin block 194 ............................. 2410 834| move-object/from16 v19, v2 2411 .end_local v2 2412 .restart_local v19 2413 836| const-string v2, "ERROR: Incompatible version of the Jazzer API detected, please update." 2414.............................. end block 194 .............................. 2415............................. begin block 195 ............................. 2416 838| invoke-virtual {v1,v2}, java.io.PrintStream.println(java.lang.String):void 2417.............................. end block 195 .............................. 2418............................. begin block 196 ............................. 2419 .line 136 2420 841| invoke-virtual {v0}, java.lang.ReflectiveOperationException.printStackTrace():void 2421.............................. end block 196 .............................. 2422............................. begin block 197 ............................. 2423 .line 137 2424 844| const/4 v1, #+1 (0x00000001 | 1.40130e-45) 2425 845| invoke-static {v1}, java.lang.System.exit(int):void 2426.............................. end block 197 .............................. 2427............................. begin block 198 ............................. 2428 848| goto Label_27 2429.............................. end block 198 .............................. 2430............................. begin block 199 ............................. 2431Label_25: 2432 .line 129 2433 .end_local v0 2434 849| move-exception v0 2435 850| move-object/from16 v21, v3 2436 852| move-object/from16 v22, v4 2437 854| move-object/from16 v23, v5 2438 856| move-object/from16 v25, v6 2439 858| move-object/from16 v2, v19 2440.............................. end block 199 .............................. 2441............................. begin block 200 ............................. 2442Label_26: 2443 .line 138 2444 .end_local v19 2445 .restart_local v2 2446 860| move-object/from16 v19, v2 2447.............................. end block 200 .............................. 2448............................. begin block 201 ............................. 2449Label_27: 2450 .line 139 2451 .end_local v2 2452 .restart_local v19 2453 862| sput-object v19, com.code_intelligence.jazzer.api.Jazzer.JAZZER_INTERNAL 2454.............................. end block 201 .............................. 2455............................. begin block 202 ............................. 2456 .line 140 2457 864| sput-object v3, com.code_intelligence.jazzer.api.Jazzer.ON_FUZZ_TARGET_READY 2458.............................. end block 202 .............................. 2459............................. begin block 203 ............................. 2460 .line 141 2461 866| sput-object v4, com.code_intelligence.jazzer.api.Jazzer.TRACE_STRCMP 2462.............................. end block 203 .............................. 2463............................. begin block 204 ............................. 2464 .line 142 2465 868| sput-object v5, com.code_intelligence.jazzer.api.Jazzer.TRACE_STRSTR 2466.............................. end block 204 .............................. 2467............................. begin block 205 ............................. 2468 .line 143 2469 870| sput-object v6, com.code_intelligence.jazzer.api.Jazzer.TRACE_MEMCMP 2470.............................. end block 205 .............................. 2471............................. begin block 206 ............................. 2472 .line 144 2473 872| sput-object v7, com.code_intelligence.jazzer.api.Jazzer.TRACE_PC_INDIR 2474.............................. end block 206 .............................. 2475............................. begin block 207 ............................. 2476 .line 145 2477 874| sput-object v8, com.code_intelligence.jazzer.api.Jazzer.CONSUME 2478.............................. end block 207 .............................. 2479............................. begin block 208 ............................. 2480 .line 146 2481 876| sput-object v9, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_FUNCTION_1 2482.............................. end block 208 .............................. 2483............................. begin block 209 ............................. 2484 .line 147 2485 878| sput-object v10, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_FUNCTION_2 2486.............................. end block 209 .............................. 2487............................. begin block 210 ............................. 2488 .line 148 2489 880| sput-object v11, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_FUNCTION_3 2490.............................. end block 210 .............................. 2491............................. begin block 211 ............................. 2492 .line 149 2493 882| sput-object v12, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_FUNCTION_4 2494.............................. end block 211 .............................. 2495............................. begin block 212 ............................. 2496 .line 150 2497 884| sput-object v13, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_FUNCTION_5 2498.............................. end block 212 .............................. 2499............................. begin block 213 ............................. 2500 .line 151 2501 886| sput-object v14, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_CONSUMER_1 2502.............................. end block 213 .............................. 2503............................. begin block 214 ............................. 2504 .line 152 2505 888| sput-object v15, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_CONSUMER_2 2506.............................. end block 214 .............................. 2507............................. begin block 215 ............................. 2508 .line 153 2509 890| sput-object v16, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_CONSUMER_3 2510.............................. end block 215 .............................. 2511............................. begin block 216 ............................. 2512 .line 154 2513 892| sput-object v17, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_CONSUMER_4 2514.............................. end block 216 .............................. 2515............................. begin block 217 ............................. 2516 .line 155 2517 894| sput-object v18, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_CONSUMER_5 2518.............................. end block 217 .............................. 2519............................. begin block 218 ............................. 2520 .line 156 2521 .end_local v3 2522 .end_local v4 2523 .end_local v5 2524 .end_local v6 2525 .end_local v7 2526 .end_local v8 2527 .end_local v9 2528 .end_local v10 2529 .end_local v11 2530 .end_local v12 2531 .end_local v13 2532 .end_local v14 2533 .end_local v15 2534 .end_local v16 2535 .end_local v17 2536 .end_local v18 2537 .end_local v19 2538 896| return-void 2539.............................. end block 218 .............................. 2540} 2541 2542method com.code_intelligence.jazzer.api.Jazzer.<init>():void 2543{ 2544............................. begin block 1 ............................. 2545 .src "Jazzer.java" 2546 .line 158 2547 .line 158 2548 0| invoke-direct {v0}, java.lang.Object.<init>():void 2549.............................. end block 1 .............................. 2550............................. begin block 2 ............................. 2551 3| return-void 2552.............................. end block 2 .............................. 2553} 2554 2555method com.code_intelligence.jazzer.api.Jazzer.autofuzz(com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Function1):java.lang.Object 2556{ 2557 .try_begin_1 2558............................. begin block 1 ............................. 2559 .params "data", "?" 2560 .src "Jazzer.java" 2561 .line 180 2562 .line 180 2563 .local_ex v3, "func", com.code_intelligence.jazzer.api.Function1, "Lcom/code_intelligence/jazzer/api/Function1<TT1;TR;>;" 2564 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_FUNCTION_1 2565.............................. end block 1 .............................. 2566............................. begin block 2 ............................. 2567 2| invoke-polymorphic {v0,v2,v3}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Function1):java.lang.Object 2568.............................. end block 2 .............................. 2569............................. begin block 3 ............................. 2570 6| move-result-object v0 2571.............................. end block 3 .............................. 2572 .try_end_1 2573 catch(com.code_intelligence.jazzer.api.AutofuzzInvocationException) : Label_2 2574 catch(...) : Label_1 2575............................. begin block 4 ............................. 2576 7| return-object v0 2577.............................. end block 4 .............................. 2578............................. begin block 5 ............................. 2579Label_1: 2580 .line 183 2581 8| move-exception v0 2582 .line 184 2583 .local v0, "t", java.lang.Throwable 2584 9| invoke-static {v0}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2585.............................. end block 5 .............................. 2586............................. begin block 6 ............................. 2587 12| goto Label_3 2588.............................. end block 6 .............................. 2589............................. begin block 7 ............................. 2590Label_2: 2591 .line 181 2592 .end_local v0 2593 13| move-exception v0 2594 .line 182 2595 .local v0, "e", com.code_intelligence.jazzer.api.AutofuzzInvocationException 2596 14| invoke-virtual {v0}, com.code_intelligence.jazzer.api.AutofuzzInvocationException.getCause():java.lang.Throwable 2597.............................. end block 7 .............................. 2598............................. begin block 8 ............................. 2599 17| move-result-object v1 2600 18| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2601.............................. end block 8 .............................. 2602............................. begin block 9 ............................. 2603 .line 185 2604 .end_local v0 2605 21| nop 2606.............................. end block 9 .............................. 2607............................. begin block 10 ............................. 2608Label_3: 2609 .line 187 2610 22| const/4 v0, #+0 (0x00000000 | 0.00000) 2611 23| return-object v0 2612.............................. end block 10 .............................. 2613} 2614 2615method com.code_intelligence.jazzer.api.Jazzer.autofuzz(com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Function2):java.lang.Object 2616{ 2617 .try_begin_1 2618............................. begin block 1 ............................. 2619 .params "data", "?" 2620 .src "Jazzer.java" 2621 .line 210 2622 .line 210 2623 .local_ex v3, "func", com.code_intelligence.jazzer.api.Function2, "Lcom/code_intelligence/jazzer/api/Function2<TT1;TT2;TR;>;" 2624 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_FUNCTION_2 2625.............................. end block 1 .............................. 2626............................. begin block 2 ............................. 2627 2| invoke-polymorphic {v0,v2,v3}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Function2):java.lang.Object 2628.............................. end block 2 .............................. 2629............................. begin block 3 ............................. 2630 6| move-result-object v0 2631.............................. end block 3 .............................. 2632 .try_end_1 2633 catch(com.code_intelligence.jazzer.api.AutofuzzInvocationException) : Label_2 2634 catch(...) : Label_1 2635............................. begin block 4 ............................. 2636 7| return-object v0 2637.............................. end block 4 .............................. 2638............................. begin block 5 ............................. 2639Label_1: 2640 .line 213 2641 8| move-exception v0 2642 .line 214 2643 .local v0, "t", java.lang.Throwable 2644 9| invoke-static {v0}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2645.............................. end block 5 .............................. 2646............................. begin block 6 ............................. 2647 12| goto Label_3 2648.............................. end block 6 .............................. 2649............................. begin block 7 ............................. 2650Label_2: 2651 .line 211 2652 .end_local v0 2653 13| move-exception v0 2654 .line 212 2655 .local v0, "e", com.code_intelligence.jazzer.api.AutofuzzInvocationException 2656 14| invoke-virtual {v0}, com.code_intelligence.jazzer.api.AutofuzzInvocationException.getCause():java.lang.Throwable 2657.............................. end block 7 .............................. 2658............................. begin block 8 ............................. 2659 17| move-result-object v1 2660 18| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2661.............................. end block 8 .............................. 2662............................. begin block 9 ............................. 2663 .line 215 2664 .end_local v0 2665 21| nop 2666.............................. end block 9 .............................. 2667............................. begin block 10 ............................. 2668Label_3: 2669 .line 217 2670 22| const/4 v0, #+0 (0x00000000 | 0.00000) 2671 23| return-object v0 2672.............................. end block 10 .............................. 2673} 2674 2675method com.code_intelligence.jazzer.api.Jazzer.autofuzz(com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Function3):java.lang.Object 2676{ 2677 .try_begin_1 2678............................. begin block 1 ............................. 2679 .params "data", "?" 2680 .src "Jazzer.java" 2681 .line 240 2682 .line 240 2683 .local_ex v3, "func", com.code_intelligence.jazzer.api.Function3, "Lcom/code_intelligence/jazzer/api/Function3<TT1;TT2;TT3;TR;>;" 2684 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_FUNCTION_3 2685.............................. end block 1 .............................. 2686............................. begin block 2 ............................. 2687 2| invoke-polymorphic {v0,v2,v3}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Function3):java.lang.Object 2688.............................. end block 2 .............................. 2689............................. begin block 3 ............................. 2690 6| move-result-object v0 2691.............................. end block 3 .............................. 2692 .try_end_1 2693 catch(com.code_intelligence.jazzer.api.AutofuzzInvocationException) : Label_2 2694 catch(...) : Label_1 2695............................. begin block 4 ............................. 2696 7| return-object v0 2697.............................. end block 4 .............................. 2698............................. begin block 5 ............................. 2699Label_1: 2700 .line 243 2701 8| move-exception v0 2702 .line 244 2703 .local v0, "t", java.lang.Throwable 2704 9| invoke-static {v0}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2705.............................. end block 5 .............................. 2706............................. begin block 6 ............................. 2707 12| goto Label_3 2708.............................. end block 6 .............................. 2709............................. begin block 7 ............................. 2710Label_2: 2711 .line 241 2712 .end_local v0 2713 13| move-exception v0 2714 .line 242 2715 .local v0, "e", com.code_intelligence.jazzer.api.AutofuzzInvocationException 2716 14| invoke-virtual {v0}, com.code_intelligence.jazzer.api.AutofuzzInvocationException.getCause():java.lang.Throwable 2717.............................. end block 7 .............................. 2718............................. begin block 8 ............................. 2719 17| move-result-object v1 2720 18| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2721.............................. end block 8 .............................. 2722............................. begin block 9 ............................. 2723 .line 245 2724 .end_local v0 2725 21| nop 2726.............................. end block 9 .............................. 2727............................. begin block 10 ............................. 2728Label_3: 2729 .line 247 2730 22| const/4 v0, #+0 (0x00000000 | 0.00000) 2731 23| return-object v0 2732.............................. end block 10 .............................. 2733} 2734 2735method com.code_intelligence.jazzer.api.Jazzer.autofuzz(com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Function4):java.lang.Object 2736{ 2737 .try_begin_1 2738............................. begin block 1 ............................. 2739 .params "data", "?" 2740 .src "Jazzer.java" 2741 .line 271 2742 .line 271 2743 .local_ex v3, "func", com.code_intelligence.jazzer.api.Function4, "Lcom/code_intelligence/jazzer/api/Function4<TT1;TT2;TT3;TT4;TR;>;" 2744 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_FUNCTION_4 2745.............................. end block 1 .............................. 2746............................. begin block 2 ............................. 2747 2| invoke-polymorphic {v0,v2,v3}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Function4):java.lang.Object 2748.............................. end block 2 .............................. 2749............................. begin block 3 ............................. 2750 6| move-result-object v0 2751.............................. end block 3 .............................. 2752 .try_end_1 2753 catch(com.code_intelligence.jazzer.api.AutofuzzInvocationException) : Label_2 2754 catch(...) : Label_1 2755............................. begin block 4 ............................. 2756 7| return-object v0 2757.............................. end block 4 .............................. 2758............................. begin block 5 ............................. 2759Label_1: 2760 .line 274 2761 8| move-exception v0 2762 .line 275 2763 .local v0, "t", java.lang.Throwable 2764 9| invoke-static {v0}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2765.............................. end block 5 .............................. 2766............................. begin block 6 ............................. 2767 12| goto Label_3 2768.............................. end block 6 .............................. 2769............................. begin block 7 ............................. 2770Label_2: 2771 .line 272 2772 .end_local v0 2773 13| move-exception v0 2774 .line 273 2775 .local v0, "e", com.code_intelligence.jazzer.api.AutofuzzInvocationException 2776 14| invoke-virtual {v0}, com.code_intelligence.jazzer.api.AutofuzzInvocationException.getCause():java.lang.Throwable 2777.............................. end block 7 .............................. 2778............................. begin block 8 ............................. 2779 17| move-result-object v1 2780 18| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2781.............................. end block 8 .............................. 2782............................. begin block 9 ............................. 2783 .line 276 2784 .end_local v0 2785 21| nop 2786.............................. end block 9 .............................. 2787............................. begin block 10 ............................. 2788Label_3: 2789 .line 278 2790 22| const/4 v0, #+0 (0x00000000 | 0.00000) 2791 23| return-object v0 2792.............................. end block 10 .............................. 2793} 2794 2795method com.code_intelligence.jazzer.api.Jazzer.autofuzz(com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Function5):java.lang.Object 2796{ 2797 .try_begin_1 2798............................. begin block 1 ............................. 2799 .params "data", "?" 2800 .src "Jazzer.java" 2801 .line 302 2802 .line 302 2803 .local_ex v3, "func", com.code_intelligence.jazzer.api.Function5, "Lcom/code_intelligence/jazzer/api/Function5<TT1;TT2;TT3;TT4;TT5;TR;>;" 2804 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_FUNCTION_5 2805.............................. end block 1 .............................. 2806............................. begin block 2 ............................. 2807 2| invoke-polymorphic {v0,v2,v3}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Function5):java.lang.Object 2808.............................. end block 2 .............................. 2809............................. begin block 3 ............................. 2810 6| move-result-object v0 2811.............................. end block 3 .............................. 2812 .try_end_1 2813 catch(com.code_intelligence.jazzer.api.AutofuzzInvocationException) : Label_2 2814 catch(...) : Label_1 2815............................. begin block 4 ............................. 2816 7| return-object v0 2817.............................. end block 4 .............................. 2818............................. begin block 5 ............................. 2819Label_1: 2820 .line 305 2821 8| move-exception v0 2822 .line 306 2823 .local v0, "t", java.lang.Throwable 2824 9| invoke-static {v0}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2825.............................. end block 5 .............................. 2826............................. begin block 6 ............................. 2827 12| goto Label_3 2828.............................. end block 6 .............................. 2829............................. begin block 7 ............................. 2830Label_2: 2831 .line 303 2832 .end_local v0 2833 13| move-exception v0 2834 .line 304 2835 .local v0, "e", com.code_intelligence.jazzer.api.AutofuzzInvocationException 2836 14| invoke-virtual {v0}, com.code_intelligence.jazzer.api.AutofuzzInvocationException.getCause():java.lang.Throwable 2837.............................. end block 7 .............................. 2838............................. begin block 8 ............................. 2839 17| move-result-object v1 2840 18| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2841.............................. end block 8 .............................. 2842............................. begin block 9 ............................. 2843 .line 307 2844 .end_local v0 2845 21| nop 2846.............................. end block 9 .............................. 2847............................. begin block 10 ............................. 2848Label_3: 2849 .line 309 2850 22| const/4 v0, #+0 (0x00000000 | 0.00000) 2851 23| return-object v0 2852.............................. end block 10 .............................. 2853} 2854 2855method com.code_intelligence.jazzer.api.Jazzer.autofuzz(com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Consumer1):void 2856{ 2857 .try_begin_1 2858............................. begin block 1 ............................. 2859 .params "data", "?" 2860 .src "Jazzer.java" 2861 .line 329 2862 .line 329 2863 .local_ex v3, "func", com.code_intelligence.jazzer.api.Consumer1, "Lcom/code_intelligence/jazzer/api/Consumer1<TT1;>;" 2864 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_CONSUMER_1 2865.............................. end block 1 .............................. 2866............................. begin block 2 ............................. 2867 2| invoke-polymorphic {v0,v2,v3}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Consumer1):void 2868.............................. end block 2 .............................. 2869 .try_end_1 2870 catch(com.code_intelligence.jazzer.api.AutofuzzInvocationException) : Label_2 2871 catch(...) : Label_1 2872............................. begin block 3 ............................. 2873 6| goto Label_3 2874.............................. end block 3 .............................. 2875............................. begin block 4 ............................. 2876Label_1: 2877 .line 332 2878 7| move-exception v0 2879 .line 333 2880 .local v0, "t", java.lang.Throwable 2881 8| invoke-static {v0}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2882.............................. end block 4 .............................. 2883............................. begin block 5 ............................. 2884 11| goto Label_4 2885.............................. end block 5 .............................. 2886............................. begin block 6 ............................. 2887Label_2: 2888 .line 330 2889 .end_local v0 2890 12| move-exception v0 2891 .line 331 2892 .local v0, "e", com.code_intelligence.jazzer.api.AutofuzzInvocationException 2893 13| invoke-virtual {v0}, com.code_intelligence.jazzer.api.AutofuzzInvocationException.getCause():java.lang.Throwable 2894.............................. end block 6 .............................. 2895............................. begin block 7 ............................. 2896 16| move-result-object v1 2897 17| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2898.............................. end block 7 .............................. 2899............................. begin block 8 ............................. 2900Label_3: 2901 .line 334 2902 .end_local v0 2903 20| nop 2904.............................. end block 8 .............................. 2905............................. begin block 9 ............................. 2906Label_4: 2907 .line 335 2908 21| return-void 2909.............................. end block 9 .............................. 2910} 2911 2912method com.code_intelligence.jazzer.api.Jazzer.autofuzz(com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Consumer2):void 2913{ 2914 .try_begin_1 2915............................. begin block 1 ............................. 2916 .params "data", "?" 2917 .src "Jazzer.java" 2918 .line 354 2919 .line 354 2920 .local_ex v3, "func", com.code_intelligence.jazzer.api.Consumer2, "Lcom/code_intelligence/jazzer/api/Consumer2<TT1;TT2;>;" 2921 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_CONSUMER_2 2922.............................. end block 1 .............................. 2923............................. begin block 2 ............................. 2924 2| invoke-polymorphic {v0,v2,v3}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Consumer2):void 2925.............................. end block 2 .............................. 2926 .try_end_1 2927 catch(com.code_intelligence.jazzer.api.AutofuzzInvocationException) : Label_2 2928 catch(...) : Label_1 2929............................. begin block 3 ............................. 2930 6| goto Label_3 2931.............................. end block 3 .............................. 2932............................. begin block 4 ............................. 2933Label_1: 2934 .line 357 2935 7| move-exception v0 2936 .line 358 2937 .local v0, "t", java.lang.Throwable 2938 8| invoke-static {v0}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2939.............................. end block 4 .............................. 2940............................. begin block 5 ............................. 2941 11| goto Label_4 2942.............................. end block 5 .............................. 2943............................. begin block 6 ............................. 2944Label_2: 2945 .line 355 2946 .end_local v0 2947 12| move-exception v0 2948 .line 356 2949 .local v0, "e", com.code_intelligence.jazzer.api.AutofuzzInvocationException 2950 13| invoke-virtual {v0}, com.code_intelligence.jazzer.api.AutofuzzInvocationException.getCause():java.lang.Throwable 2951.............................. end block 6 .............................. 2952............................. begin block 7 ............................. 2953 16| move-result-object v1 2954 17| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2955.............................. end block 7 .............................. 2956............................. begin block 8 ............................. 2957Label_3: 2958 .line 359 2959 .end_local v0 2960 20| nop 2961.............................. end block 8 .............................. 2962............................. begin block 9 ............................. 2963Label_4: 2964 .line 360 2965 21| return-void 2966.............................. end block 9 .............................. 2967} 2968 2969method com.code_intelligence.jazzer.api.Jazzer.autofuzz(com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Consumer3):void 2970{ 2971 .try_begin_1 2972............................. begin block 1 ............................. 2973 .params "data", "?" 2974 .src "Jazzer.java" 2975 .line 379 2976 .line 379 2977 .local_ex v3, "func", com.code_intelligence.jazzer.api.Consumer3, "Lcom/code_intelligence/jazzer/api/Consumer3<TT1;TT2;TT3;>;" 2978 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_CONSUMER_3 2979.............................. end block 1 .............................. 2980............................. begin block 2 ............................. 2981 2| invoke-polymorphic {v0,v2,v3}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Consumer3):void 2982.............................. end block 2 .............................. 2983 .try_end_1 2984 catch(com.code_intelligence.jazzer.api.AutofuzzInvocationException) : Label_2 2985 catch(...) : Label_1 2986............................. begin block 3 ............................. 2987 6| goto Label_3 2988.............................. end block 3 .............................. 2989............................. begin block 4 ............................. 2990Label_1: 2991 .line 382 2992 7| move-exception v0 2993 .line 383 2994 .local v0, "t", java.lang.Throwable 2995 8| invoke-static {v0}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2996.............................. end block 4 .............................. 2997............................. begin block 5 ............................. 2998 11| goto Label_4 2999.............................. end block 5 .............................. 3000............................. begin block 6 ............................. 3001Label_2: 3002 .line 380 3003 .end_local v0 3004 12| move-exception v0 3005 .line 381 3006 .local v0, "e", com.code_intelligence.jazzer.api.AutofuzzInvocationException 3007 13| invoke-virtual {v0}, com.code_intelligence.jazzer.api.AutofuzzInvocationException.getCause():java.lang.Throwable 3008.............................. end block 6 .............................. 3009............................. begin block 7 ............................. 3010 16| move-result-object v1 3011 17| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 3012.............................. end block 7 .............................. 3013............................. begin block 8 ............................. 3014Label_3: 3015 .line 384 3016 .end_local v0 3017 20| nop 3018.............................. end block 8 .............................. 3019............................. begin block 9 ............................. 3020Label_4: 3021 .line 385 3022 21| return-void 3023.............................. end block 9 .............................. 3024} 3025 3026method com.code_intelligence.jazzer.api.Jazzer.autofuzz(com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Consumer4):void 3027{ 3028 .try_begin_1 3029............................. begin block 1 ............................. 3030 .params "data", "?" 3031 .src "Jazzer.java" 3032 .line 405 3033 .line 405 3034 .local_ex v3, "func", com.code_intelligence.jazzer.api.Consumer4, "Lcom/code_intelligence/jazzer/api/Consumer4<TT1;TT2;TT3;TT4;>;" 3035 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_CONSUMER_4 3036.............................. end block 1 .............................. 3037............................. begin block 2 ............................. 3038 2| invoke-polymorphic {v0,v2,v3}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Consumer4):void 3039.............................. end block 2 .............................. 3040 .try_end_1 3041 catch(com.code_intelligence.jazzer.api.AutofuzzInvocationException) : Label_2 3042 catch(...) : Label_1 3043............................. begin block 3 ............................. 3044 6| goto Label_3 3045.............................. end block 3 .............................. 3046............................. begin block 4 ............................. 3047Label_1: 3048 .line 408 3049 7| move-exception v0 3050 .line 409 3051 .local v0, "t", java.lang.Throwable 3052 8| invoke-static {v0}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 3053.............................. end block 4 .............................. 3054............................. begin block 5 ............................. 3055 11| goto Label_4 3056.............................. end block 5 .............................. 3057............................. begin block 6 ............................. 3058Label_2: 3059 .line 406 3060 .end_local v0 3061 12| move-exception v0 3062 .line 407 3063 .local v0, "e", com.code_intelligence.jazzer.api.AutofuzzInvocationException 3064 13| invoke-virtual {v0}, com.code_intelligence.jazzer.api.AutofuzzInvocationException.getCause():java.lang.Throwable 3065.............................. end block 6 .............................. 3066............................. begin block 7 ............................. 3067 16| move-result-object v1 3068 17| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 3069.............................. end block 7 .............................. 3070............................. begin block 8 ............................. 3071Label_3: 3072 .line 410 3073 .end_local v0 3074 20| nop 3075.............................. end block 8 .............................. 3076............................. begin block 9 ............................. 3077Label_4: 3078 .line 411 3079 21| return-void 3080.............................. end block 9 .............................. 3081} 3082 3083method com.code_intelligence.jazzer.api.Jazzer.autofuzz(com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Consumer5):void 3084{ 3085 .try_begin_1 3086............................. begin block 1 ............................. 3087 .params "data", "?" 3088 .src "Jazzer.java" 3089 .line 431 3090 .line 431 3091 .local_ex v3, "func", com.code_intelligence.jazzer.api.Consumer5, "Lcom/code_intelligence/jazzer/api/Consumer5<TT1;TT2;TT3;TT4;TT5;>;" 3092 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_CONSUMER_5 3093.............................. end block 1 .............................. 3094............................. begin block 2 ............................. 3095 2| invoke-polymorphic {v0,v2,v3}, java.lang.invoke.MethodHandle.invoke(java.lang.Object[]):java.lang.Object, (com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Consumer5):void 3096.............................. end block 2 .............................. 3097 .try_end_1 3098 catch(com.code_intelligence.jazzer.api.AutofuzzInvocationException) : Label_2 3099 catch(...) : Label_1 3100............................. begin block 3 ............................. 3101 6| goto Label_3 3102.............................. end block 3 .............................. 3103............................. begin block 4 ............................. 3104Label_1: 3105 .line 434 3106 7| move-exception v0 3107 .line 435 3108 .local v0, "t", java.lang.Throwable 3109 8| invoke-static {v0}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 3110.............................. end block 4 .............................. 3111............................. begin block 5 ............................. 3112 11| goto Label_4 3113.............................. end block 5 .............................. 3114............................. begin block 6 ............................. 3115Label_2: 3116 .line 432 3117 .end_local v0 3118 12| move-exception v0 3119 .line 433 3120 .local v0, "e", com.code_intelligence.jazzer.api.AutofuzzInvocationException 3121 13| invoke-virtual {v0}, com.code_intelligence.jazzer.api.AutofuzzInvocationException.getCause():java.lang.Throwable 3122.............................. end block 6 .............................. 3123............................. begin block 7 ............................. 3124 16| move-result-object v1 3125 17| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 3126.............................. end block 7 .............................. 3127............................. begin block 8 ............................. 3128Label_3: 3129 .line 436 3130 .end_local v0 3131 20| nop 3132.............................. end block 8 .............................. 3133............................. begin block 9 ............................. 3134Label_4: 3135 .line 437 3136 21| return-void 3137.............................. end block 9 .............................. 3138} 3139 3140method com.code_intelligence.jazzer.api.Jazzer.consume(com.code_intelligence.jazzer.api.FuzzedDataProvider, java.lang.Class):java.lang.Object 3141{ 3142............................. begin block 1 ............................. 3143 .params "data", "?" 3144 .src "Jazzer.java" 3145 .line 454 3146 .line 454 3147 .local_ex v3, "type", java.lang.Class, "Ljava/lang/Class<TT;>;" 3148 0| const/4 v0, #+0 (0x00000000 | 0.00000) 3149.............................. end block 1 .............................. 3150 .try_begin_1 3151............................. begin block 2 ............................. 3152 1| sget-object v1, com.code_intelligence.jazzer.api.Jazzer.CONSUME 3153.............................. end block 2 .............................. 3154............................. begin block 3 ............................. 3155 3| invoke-polymorphic {v1,v2,v3}, java.lang.invoke.MethodHandle.invokeExact(java.lang.Object[]):java.lang.Object, (com.code_intelligence.jazzer.api.FuzzedDataProvider, java.lang.Class):java.lang.Object 3156.............................. end block 3 .............................. 3157............................. begin block 4 ............................. 3158 7| move-result-object v0 3159.............................. end block 4 .............................. 3160 .try_end_1 3161 catch(com.code_intelligence.jazzer.api.AutofuzzConstructionException) : Label_2 3162 catch(...) : Label_1 3163............................. begin block 5 ............................. 3164 8| return-object v0 3165.............................. end block 5 .............................. 3166............................. begin block 6 ............................. 3167Label_1: 3168 .line 457 3169 9| move-exception v1 3170 .line 458 3171 .local v1, "t", java.lang.Throwable 3172 10| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 3173.............................. end block 6 .............................. 3174............................. begin block 7 ............................. 3175 .line 460 3176 13| return-object v0 3177.............................. end block 7 .............................. 3178............................. begin block 8 ............................. 3179Label_2: 3180 .line 455 3181 .end_local v1 3182 14| move-exception v1 3183 .line 456 3184 .local v1, "ignored", com.code_intelligence.jazzer.api.AutofuzzConstructionException 3185 15| return-object v0 3186.............................. end block 8 .............................. 3187} 3188 3189method com.code_intelligence.jazzer.api.Jazzer.exploreState(byte, int):void 3190{ 3191............................. begin block 1 ............................. 3192 .params "state", "id" 3193 .src "Jazzer.java" 3194 .line 550 3195 .line 550 3196 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.TRACE_PC_INDIR 3197.............................. end block 1 .............................. 3198............................. begin block 2 ............................. 3199 2| if-nez v0, Label_1 3200.............................. end block 2 .............................. 3201............................. begin block 3 ............................. 3202 .line 551 3203 4| return-void 3204.............................. end block 3 .............................. 3205............................. begin block 4 ............................. 3206Label_1: 3207 .line 576 3208 5| and-int/lit8 v1, v3, #+127 (0x0000007f | 1.77965e-43) 3209 7| shl-int/lit8 v2, v4, #+7 (0x00000007 | 9.80909e-45) 3210 9| or-int/2addr v1, v2 3211 .line 577 3212 .local v1, "lowerBits", int 3213 10| ushr-int/lit8 v2, v4, #+5 (0x00000005 | 7.00649e-45) 3214.............................. end block 4 .............................. 3215 .try_begin_1 3216............................. begin block 5 ............................. 3217 .line 579 3218 .local v2, "upperBits", int 3219 12| invoke-polymorphic {v0,v2,v1}, java.lang.invoke.MethodHandle.invokeExact(java.lang.Object[]):java.lang.Object, (int, int):void 3220.............................. end block 5 .............................. 3221 .try_end_1 3222 catch(...) : Label_2 3223............................. begin block 6 ............................. 3224 .line 582 3225 16| goto Label_3 3226.............................. end block 6 .............................. 3227............................. begin block 7 ............................. 3228Label_2: 3229 .line 580 3230 17| move-exception v0 3231 .line 581 3232 .local v0, "e", java.lang.Throwable 3233 18| invoke-virtual {v0}, java.lang.Throwable.printStackTrace():void 3234.............................. end block 7 .............................. 3235............................. begin block 8 ............................. 3236Label_3: 3237 .line 583 3238 .end_local v0 3239 21| return-void 3240.............................. end block 8 .............................. 3241} 3242 3243method com.code_intelligence.jazzer.api.Jazzer.getLibFuzzerSeed():int 3244{ 3245............................. begin block 1 ............................. 3246 .src "Jazzer.java" 3247 .line 630 3248 .line 630 3249 0| const-string v0, "jazzer.seed" 3250.............................. end block 1 .............................. 3251............................. begin block 2 ............................. 3252 2| invoke-static {v0}, java.lang.System.getProperty(java.lang.String):java.lang.String 3253.............................. end block 2 .............................. 3254............................. begin block 3 ............................. 3255 5| move-result-object v0 3256 .line 631 3257 .local v0, "rawSeed", java.lang.String 3258 6| if-nez v0, Label_1 3259.............................. end block 3 .............................. 3260............................. begin block 4 ............................. 3261 .line 632 3262 8| new-instance v1, java.security.SecureRandom 3263.............................. end block 4 .............................. 3264............................. begin block 5 ............................. 3265 10| invoke-direct {v1}, java.security.SecureRandom.<init>():void 3266.............................. end block 5 .............................. 3267............................. begin block 6 ............................. 3268 13| invoke-virtual {v1}, java.security.SecureRandom.nextInt():int 3269.............................. end block 6 .............................. 3270............................. begin block 7 ............................. 3271 16| move-result v1 3272 17| return v1 3273.............................. end block 7 .............................. 3274............................. begin block 8 ............................. 3275Label_1: 3276 .line 635 3277 18| invoke-static {v0}, java.lang.Integer.parseUnsignedInt(java.lang.String):int 3278.............................. end block 8 .............................. 3279............................. begin block 9 ............................. 3280 21| move-result v1 3281 22| return v1 3282.............................. end block 9 .............................. 3283} 3284 3285method com.code_intelligence.jazzer.api.Jazzer.guideTowardsContainment(java.lang.String, java.lang.String, int):void 3286{ 3287............................. begin block 1 ............................. 3288 .params "haystack", "needle", "id" 3289 .src "Jazzer.java" 3290 .line 524 3291 .line 524 3292 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.TRACE_STRSTR 3293.............................. end block 1 .............................. 3294............................. begin block 2 ............................. 3295 2| if-nez v0, Label_1 3296.............................. end block 2 .............................. 3297............................. begin block 3 ............................. 3298 .line 525 3299 4| return-void 3300.............................. end block 3 .............................. 3301Label_1: 3302 .try_begin_1 3303............................. begin block 4 ............................. 3304 .line 528 3305 5| invoke-polymorphic {v0,v1,v2,v3}, java.lang.invoke.MethodHandle.invokeExact(java.lang.Object[]):java.lang.Object, (java.lang.String, java.lang.String, int):void 3306.............................. end block 4 .............................. 3307 .try_end_1 3308 catch(...) : Label_2 3309............................. begin block 5 ............................. 3310 .line 531 3311 9| goto Label_3 3312.............................. end block 5 .............................. 3313............................. begin block 6 ............................. 3314Label_2: 3315 .line 529 3316 10| move-exception v0 3317 .line 530 3318 .local v0, "e", java.lang.Throwable 3319 11| invoke-virtual {v0}, java.lang.Throwable.printStackTrace():void 3320.............................. end block 6 .............................. 3321............................. begin block 7 ............................. 3322Label_3: 3323 .line 532 3324 .end_local v0 3325 14| return-void 3326.............................. end block 7 .............................. 3327} 3328 3329method com.code_intelligence.jazzer.api.Jazzer.guideTowardsEquality(java.lang.String, java.lang.String, int):void 3330{ 3331............................. begin block 1 ............................. 3332 .params "current", "target", "id" 3333 .src "Jazzer.java" 3334 .line 477 3335 .line 477 3336 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.TRACE_STRCMP 3337.............................. end block 1 .............................. 3338............................. begin block 2 ............................. 3339 2| if-nez v0, Label_1 3340.............................. end block 2 .............................. 3341............................. begin block 3 ............................. 3342 .line 478 3343 4| return-void 3344.............................. end block 3 .............................. 3345............................. begin block 4 ............................. 3346Label_1: 3347 .line 481 3348 5| const/4 v1, #+1 (0x00000001 | 1.40130e-45) 3349.............................. end block 4 .............................. 3350 .try_begin_1 3351............................. begin block 5 ............................. 3352 6| invoke-polymorphic {v0,v2,v3,v1,v4}, java.lang.invoke.MethodHandle.invokeExact(java.lang.Object[]):java.lang.Object, (java.lang.String, java.lang.String, int, int):void 3353.............................. end block 5 .............................. 3354 .try_end_1 3355 catch(...) : Label_2 3356............................. begin block 6 ............................. 3357 .line 484 3358 10| goto Label_3 3359.............................. end block 6 .............................. 3360............................. begin block 7 ............................. 3361Label_2: 3362 .line 482 3363 11| move-exception v0 3364 .line 483 3365 .local v0, "e", java.lang.Throwable 3366 12| invoke-virtual {v0}, java.lang.Throwable.printStackTrace():void 3367.............................. end block 7 .............................. 3368............................. begin block 8 ............................. 3369Label_3: 3370 .line 485 3371 .end_local v0 3372 15| return-void 3373.............................. end block 8 .............................. 3374} 3375 3376method com.code_intelligence.jazzer.api.Jazzer.guideTowardsEquality(byte[], byte[], int):void 3377{ 3378............................. begin block 1 ............................. 3379 .params "current", "target", "id" 3380 .src "Jazzer.java" 3381 .line 500 3382 .line 500 3383 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.TRACE_MEMCMP 3384.............................. end block 1 .............................. 3385............................. begin block 2 ............................. 3386 2| if-nez v0, Label_1 3387.............................. end block 2 .............................. 3388............................. begin block 3 ............................. 3389 .line 501 3390 4| return-void 3391.............................. end block 3 .............................. 3392............................. begin block 4 ............................. 3393Label_1: 3394 .line 504 3395 5| const/4 v1, #+1 (0x00000001 | 1.40130e-45) 3396.............................. end block 4 .............................. 3397 .try_begin_1 3398............................. begin block 5 ............................. 3399 6| invoke-polymorphic {v0,v2,v3,v1,v4}, java.lang.invoke.MethodHandle.invokeExact(java.lang.Object[]):java.lang.Object, (byte[], byte[], int, int):void 3400.............................. end block 5 .............................. 3401 .try_end_1 3402 catch(...) : Label_2 3403............................. begin block 6 ............................. 3404 .line 507 3405 10| goto Label_3 3406.............................. end block 6 .............................. 3407............................. begin block 7 ............................. 3408Label_2: 3409 .line 505 3410 11| move-exception v0 3411 .line 506 3412 .local v0, "e", java.lang.Throwable 3413 12| invoke-virtual {v0}, java.lang.Throwable.printStackTrace():void 3414.............................. end block 7 .............................. 3415............................. begin block 8 ............................. 3416Label_3: 3417 .line 508 3418 .end_local v0 3419 15| return-void 3420.............................. end block 8 .............................. 3421} 3422 3423method com.code_intelligence.jazzer.api.Jazzer.onFuzzTargetReady(java.lang.Runnable):void 3424{ 3425 .try_begin_1 3426............................. begin block 1 ............................. 3427 .params "callback" 3428 .src "Jazzer.java" 3429 .line 620 3430 .line 620 3431 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.ON_FUZZ_TARGET_READY 3432.............................. end block 1 .............................. 3433............................. begin block 2 ............................. 3434 2| invoke-polymorphic {v0,v1}, java.lang.invoke.MethodHandle.invokeExact(java.lang.Object[]):java.lang.Object, (java.lang.Runnable):void 3435.............................. end block 2 .............................. 3436 .try_end_1 3437 catch(...) : Label_1 3438............................. begin block 3 ............................. 3439 .line 623 3440 6| goto Label_2 3441.............................. end block 3 .............................. 3442............................. begin block 4 ............................. 3443Label_1: 3444 .line 621 3445 7| move-exception v0 3446 .line 622 3447 .local v0, "e", java.lang.Throwable 3448 8| invoke-virtual {v0}, java.lang.Throwable.printStackTrace():void 3449.............................. end block 4 .............................. 3450............................. begin block 5 ............................. 3451Label_2: 3452 .line 624 3453 .end_local v0 3454 11| return-void 3455.............................. end block 5 .............................. 3456} 3457 3458method com.code_intelligence.jazzer.api.Jazzer.reportFindingFromHook(java.lang.Throwable):void 3459{ 3460 .try_begin_1 3461............................. begin block 1 ............................. 3462 .params "finding" 3463 .src "Jazzer.java" 3464 .line 594 3465 .line 594 3466 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.JAZZER_INTERNAL 3467.............................. end block 1 .............................. 3468............................. begin block 2 ............................. 3469 2| const-string v1, "reportFindingFromHook" 3470.............................. end block 2 .............................. 3471............................. begin block 3 ............................. 3472 4| const/4 v2, #+1 (0x00000001 | 1.40130e-45) 3473 5| new-array v2, v2, java.lang.Class[] 3474.............................. end block 3 .............................. 3475............................. begin block 4 ............................. 3476 7| const-class v3, java.lang.Throwable 3477.............................. end block 4 .............................. 3478............................. begin block 5 ............................. 3479 9| const/4 v4, #+0 (0x00000000 | 0.00000) 3480 10| aput-object v3, v2, v4 3481.............................. end block 5 .............................. 3482............................. begin block 6 ............................. 3483 12| invoke-virtual {v0,v1,v2}, java.lang.Class.getMethod(java.lang.String, java.lang.Class[]):java.lang.reflect.Method 3484.............................. end block 6 .............................. 3485............................. begin block 7 ............................. 3486 15| move-result-object v0 3487 16| filled-new-array {v5}, java.lang.Object[] 3488.............................. end block 7 .............................. 3489............................. begin block 8 ............................. 3490 19| move-result-object v1 3491 20| const/4 v2, #+0 (0x00000000 | 0.00000) 3492 21| invoke-virtual {v0,v2,v1}, java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]):java.lang.Object 3493.............................. end block 8 .............................. 3494 .try_end_1 3495 catch(java.lang.NullPointerException) : Label_3 3496 catch(java.lang.IllegalAccessException) : Label_3 3497 catch(java.lang.NoSuchMethodException) : Label_3 3498 catch(java.lang.reflect.InvocationTargetException) : Label_1 3499............................. begin block 9 ............................. 3500 24| goto Label_4 3501.............................. end block 9 .............................. 3502............................. begin block 10 ............................. 3503Label_1: 3504 .line 599 3505 25| move-exception v0 3506 .line 602 3507 .local v0, "e", java.lang.reflect.InvocationTargetException 3508 26| invoke-virtual {v0}, java.lang.reflect.InvocationTargetException.getCause():java.lang.Throwable 3509.............................. end block 10 .............................. 3510............................. begin block 11 ............................. 3511 29| move-result-object v1 3512 30| invoke-virtual {v1}, java.lang.Object.getClass():java.lang.Class 3513.............................. end block 11 .............................. 3514............................. begin block 12 ............................. 3515 33| move-result-object v1 3516 34| invoke-virtual {v1}, java.lang.Class.getName():java.lang.String 3517.............................. end block 12 .............................. 3518............................. begin block 13 ............................. 3519 37| move-result-object v1 3520 38| const-string v2, ".HardToCatchError" 3521.............................. end block 13 .............................. 3522............................. begin block 14 ............................. 3523 40| invoke-virtual {v1,v2}, java.lang.String.endsWith(java.lang.String):boolean 3524.............................. end block 14 .............................. 3525............................. begin block 15 ............................. 3526 43| move-result v1 3527 44| if-nez v1, Label_2 3528.............................. end block 15 .............................. 3529............................. begin block 16 ............................. 3530 .line 605 3531 46| invoke-virtual {v0}, java.lang.reflect.InvocationTargetException.printStackTrace():void 3532.............................. end block 16 .............................. 3533............................. begin block 17 ............................. 3534 49| goto Label_5 3535.............................. end block 17 .............................. 3536............................. begin block 18 ............................. 3537Label_2: 3538 .line 603 3539 50| invoke-virtual {v0}, java.lang.reflect.InvocationTargetException.getCause():java.lang.Throwable 3540.............................. end block 18 .............................. 3541............................. begin block 19 ............................. 3542 53| move-result-object v1 3543 54| check-cast v1, java.lang.Error 3544.............................. end block 19 .............................. 3545............................. begin block 20 ............................. 3546 56| throw v1 3547.............................. end block 20 .............................. 3548............................. begin block 21 ............................. 3549Label_3: 3550 .line 595 3551 .end_local v0 3552 57| move-exception v0 3553 .line 598 3554 .local v0, "e", java.lang.Exception 3555 58| invoke-static {v5}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 3556.............................. end block 21 .............................. 3557............................. begin block 22 ............................. 3558Label_4: 3559 .line 607 3560 .end_local v0 3561 61| nop 3562.............................. end block 22 .............................. 3563............................. begin block 23 ............................. 3564Label_5: 3565 .line 608 3566 62| return-void 3567.............................. end block 23 .............................. 3568} 3569 3570method com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 3571{ 3572............................. begin block 1 ............................. 3573 .params "t" 3574 .src "Jazzer.java" 3575 .line 641 3576 .line 641 3577 0| throw v0 3578.............................. end block 1 .............................. 3579} 3580 3581method com.code_intelligence.jazzer.api.MethodHook.additionalClassesToHook():java.lang.String[] 3582{ 3583} 3584 3585method com.code_intelligence.jazzer.api.MethodHook.targetClassName():java.lang.String 3586{ 3587} 3588 3589method com.code_intelligence.jazzer.api.MethodHook.targetMethod():java.lang.String 3590{ 3591} 3592 3593method com.code_intelligence.jazzer.api.MethodHook.targetMethodDescriptor():java.lang.String 3594{ 3595} 3596 3597method com.code_intelligence.jazzer.api.MethodHook.type():com.code_intelligence.jazzer.api.HookType 3598{ 3599} 3600 3601method com.code_intelligence.jazzer.api.MethodHooks.value():com.code_intelligence.jazzer.api.MethodHook[] 3602{ 3603} 3604 3605method com.example.ExampleJavaHelper.<init>():void 3606{ 3607............................. begin block 1 ............................. 3608 .src "ExampleJavaHelper.java" 3609 .line 7 3610 .line 7 3611 0| invoke-direct {v1}, java.lang.Object.<init>():void 3612.............................. end block 1 .............................. 3613............................. begin block 2 ............................. 3614 3| const/4 v0, #+5 (0x00000005 | 7.00649e-45) 3615 4| invoke-static {v0}, com.code_intelligence.jazzer.runtime.CoverageMap.recordCoverage(int):void 3616.............................. end block 2 .............................. 3617............................. begin block 3 ............................. 3618 7| return-void 3619.............................. end block 3 .............................. 3620} 3621 3622method com.example.ExampleJavaHelper.fuzzerTestOneInput(byte[]):void 3623{ 3624 .try_begin_1 3625............................. begin block 1 ............................. 3626 .params "data" 3627 .src "ExampleJavaHelper.java" 3628 .line 10 3629 .line 10 3630 0| new-instance v0, java.io.ObjectInputStream 3631.............................. end block 1 .............................. 3632............................. begin block 2 ............................. 3633 2| new-instance v1, java.io.ByteArrayInputStream 3634.............................. end block 2 .............................. 3635............................. begin block 3 ............................. 3636 4| invoke-direct {v1,v5}, java.io.ByteArrayInputStream.<init>(byte[]):void 3637.............................. end block 3 .............................. 3638............................. begin block 4 ............................. 3639 7| filled-new-array {v1}, java.lang.Object[] 3640.............................. end block 4 .............................. 3641............................. begin block 5 ............................. 3642 10| move-result-object v1 3643 11| const v2, #+590768839 (0x23366ac7 | 9.88885e-18) 3644 14| const/4 v3, #+0 (0x00000000 | 0.00000) 3645 15| invoke-static {v3,v3,v1,v2}, com.code_intelligence.jazzer.sanitizers.Deserialization.objectInputStreamInitBeforeHook(java.lang.invoke.MethodHandle, java.lang.Object, java.lang.Object[], int):void 3646.............................. end block 5 .............................. 3647............................. begin block 6 ............................. 3648 18| const/4 v2, #+0 (0x00000000 | 0.00000) 3649 19| aget-object v4, v1, v2 3650.............................. end block 6 .............................. 3651............................. begin block 7 ............................. 3652 21| check-cast v4, java.io.InputStream 3653.............................. end block 7 .............................. 3654............................. begin block 8 ............................. 3655 23| invoke-direct {v0,v4}, java.io.ObjectInputStream.<init>(java.io.InputStream):void 3656.............................. end block 8 .............................. 3657............................. begin block 9 ............................. 3658 26| const v4, #-1337761839 (0xb0435fd1 | -7.10768e-10) 3659 29| invoke-static {v3,v0,v1,v4,v3}, com.code_intelligence.jazzer.sanitizers.Deserialization.objectInputStreamInitAfterHook(java.lang.invoke.MethodHandle, java.io.ObjectInputStream, java.lang.Object[], int, java.lang.Object):void 3660.............................. end block 9 .............................. 3661............................. begin block 10 ............................. 3662 32| const/4 v1, #+6 (0x00000006 | 8.40779e-45) 3663 33| invoke-static {v1}, com.code_intelligence.jazzer.runtime.CoverageMap.recordCoverage(int):void 3664.............................. end block 10 .............................. 3665............................. begin block 11 ............................. 3666 .line 11 3667 .local v0, "ois", java.io.ObjectInputStream 3668 36| new-array v1, v2, java.lang.Object[] 3669.............................. end block 11 .............................. 3670............................. begin block 12 ............................. 3671 38| const-method-handle v2, readObject 3672.............................. end block 12 .............................. 3673............................. begin block 13 ............................. 3674 40| const v3, #+1356244862 (0x50d6a77e | 2.88104e+10) 3675 43| invoke-static {v2,v0,v1,v3}, com.code_intelligence.jazzer.sanitizers.Deserialization.readObjectBeforeHook(java.lang.invoke.MethodHandle, java.io.ObjectInputStream, java.lang.Object[], int):void 3676.............................. end block 13 .............................. 3677............................. begin block 14 ............................. 3678 46| invoke-virtual {v0}, java.io.ObjectInputStream.readObject():java.lang.Object 3679.............................. end block 14 .............................. 3680 .try_end_1 3681 catch(java.io.IOException) : Label_2 3682 catch(java.lang.ClassNotFoundException) : Label_2 3683 catch(java.lang.NullPointerException) : Label_1 3684 catch(java.lang.NegativeArraySizeException) : Label_1 3685............................. begin block 15 ............................. 3686 .line 16 3687 49| nop 3688 .end_local v0 3689 50| const/4 v0, #+7 (0x00000007 | 9.80909e-45) 3690 51| goto Label_3 3691.............................. end block 15 .............................. 3692............................. begin block 16 ............................. 3693Label_1: 3694 .line 14 3695 52| move-exception v0 3696 53| const/16 v0, #+9 (0x00000009 | 1.26117e-44) 3697 55| invoke-static {v0}, com.code_intelligence.jazzer.runtime.CoverageMap.recordCoverage(int):void 3698.............................. end block 16 .............................. 3699............................. begin block 17 ............................. 3700 58| goto Label_4 3701.............................. end block 17 .............................. 3702............................. begin block 18 ............................. 3703Label_2: 3704 .line 12 3705 59| move-exception v0 3706 .line 16 3707 60| const/16 v0, #+8 (0x00000008 | 1.12104e-44) 3708.............................. end block 18 .............................. 3709............................. begin block 19 ............................. 3710Label_3: 3711 62| invoke-static {v0}, com.code_intelligence.jazzer.runtime.CoverageMap.recordCoverage(int):void 3712.............................. end block 19 .............................. 3713............................. begin block 20 ............................. 3714Label_4: 3715 .line 17 3716 65| const/16 v0, #+10 (0x0000000a | 1.40130e-44) 3717 67| invoke-static {v0}, com.code_intelligence.jazzer.runtime.CoverageMap.recordCoverage(int):void 3718.............................. end block 20 .............................. 3719............................. begin block 21 ............................. 3720 70| return-void 3721.............................. end block 21 .............................. 3722} 3723 3724method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.<init>(java.lang.String):void 3725{ 3726............................. begin block 1 ............................. 3727 .params "can" 3728 .src "CannedFuzzedDataProvider.java" 3729 .line 30 3730 .line 30 3731 0| invoke-direct {v5}, java.lang.Object.<init>():void 3732.............................. end block 1 .............................. 3733............................. begin block 2 ............................. 3734 .line 31 3735 3| invoke-static {}, java.util.Base64.getDecoder():java.util.Base64$Decoder 3736.............................. end block 2 .............................. 3737............................. begin block 3 ............................. 3738 6| move-result-object v0 3739 7| invoke-virtual {v0,v6}, java.util.Base64$Decoder.decode(java.lang.String):byte[] 3740.............................. end block 3 .............................. 3741............................. begin block 4 ............................. 3742 10| move-result-object v0 3743.............................. end block 4 .............................. 3744 .try_begin_1 3745............................. begin block 5 ............................. 3746 .line 33 3747 .local v0, "rawIn", byte[] 3748 11| new-instance v1, java.io.ByteArrayInputStream 3749.............................. end block 5 .............................. 3750............................. begin block 6 ............................. 3751 13| invoke-direct {v1,v0}, java.io.ByteArrayInputStream.<init>(byte[]):void 3752.............................. end block 6 .............................. 3753 .try_end_1 3754 catch(java.io.IOException) : Label_7 3755 catch(java.lang.ClassNotFoundException) : Label_7 3756 .try_begin_2 3757............................. begin block 7 ............................. 3758 .line 34 3759 .local v1, "byteStream", java.io.ByteArrayInputStream 3760 16| new-instance v2, java.io.ObjectInputStream 3761.............................. end block 7 .............................. 3762............................. begin block 8 ............................. 3763 18| invoke-direct {v2,v1}, java.io.ObjectInputStream.<init>(java.io.InputStream):void 3764.............................. end block 8 .............................. 3765 .try_end_2 3766 catch(...) : Label_4 3767 .try_begin_3 3768............................. begin block 9 ............................. 3769 .line 35 3770 .local v2, "objectStream", java.io.ObjectInputStream 3771 21| invoke-virtual {v2}, java.io.ObjectInputStream.readObject():java.lang.Object 3772.............................. end block 9 .............................. 3773............................. begin block 10 ............................. 3774 24| move-result-object v3 3775 25| check-cast v3, java.util.ArrayList 3776.............................. end block 10 .............................. 3777 .try_end_3 3778 catch(...) : Label_1 3779 .try_begin_4 3780............................. begin block 11 ............................. 3781 .line 36 3782 .local_ex v3, "recordedReplies", java.util.ArrayList, "Ljava/util/ArrayList<Ljava/lang/Object;>;" 3783 27| invoke-virtual {v2}, java.io.ObjectInputStream.close():void 3784.............................. end block 11 .............................. 3785 .try_end_4 3786 catch(...) : Label_4 3787 .try_begin_5 3788............................. begin block 12 ............................. 3789 .line 37 3790 .end_local v2 3791 30| invoke-virtual {v1}, java.io.ByteArrayInputStream.close():void 3792.............................. end block 12 .............................. 3793 .try_end_5 3794 catch(java.io.IOException) : Label_7 3795 catch(java.lang.ClassNotFoundException) : Label_7 3796............................. begin block 13 ............................. 3797 .line 39 3798 .end_local v1 3799 33| nop 3800 .line 40 3801 34| invoke-virtual {v3}, java.util.ArrayList.iterator():java.util.Iterator 3802.............................. end block 13 .............................. 3803............................. begin block 14 ............................. 3804 37| move-result-object v1 3805 38| iput-object v1, v5, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 3806.............................. end block 14 .............................. 3807............................. begin block 15 ............................. 3808 .line 41 3809 40| return-void 3810.............................. end block 15 .............................. 3811............................. begin block 16 ............................. 3812Label_1: 3813 .line 34 3814 .end_local v3 3815 .restart_local v1 3816 .restart_local v2 3817 41| move-exception v3 3818.............................. end block 16 .............................. 3819 .try_begin_6 3820............................. begin block 17 ............................. 3821 42| invoke-virtual {v2}, java.io.ObjectInputStream.close():void 3822.............................. end block 17 .............................. 3823 .try_end_6 3824 catch(...) : Label_2 3825............................. begin block 18 ............................. 3826 45| goto Label_3 3827.............................. end block 18 .............................. 3828............................. begin block 19 ............................. 3829Label_2: 3830 46| move-exception v4 3831.............................. end block 19 .............................. 3832 .try_begin_7 3833............................. begin block 20 ............................. 3834 47| invoke-virtual {v3,v4}, java.lang.Throwable.addSuppressed(java.lang.Throwable):void 3835.............................. end block 20 .............................. 3836............................. begin block 21 ............................. 3837Label_3: 3838 .end_local v0 3839 .end_local v1 3840 .end_local v5 3841 .end_local v6 3842 50| throw v3 3843.............................. end block 21 .............................. 3844 .try_end_7 3845 catch(...) : Label_4 3846............................. begin block 22 ............................. 3847Label_4: 3848 .line 33 3849 .end_local v2 3850 .restart_local v0 3851 .restart_local v1 3852 .restart_local v5 3853 .restart_local v6 3854 51| move-exception v2 3855.............................. end block 22 .............................. 3856 .try_begin_8 3857............................. begin block 23 ............................. 3858 52| invoke-virtual {v1}, java.io.ByteArrayInputStream.close():void 3859.............................. end block 23 .............................. 3860 .try_end_8 3861 catch(...) : Label_5 3862............................. begin block 24 ............................. 3863 55| goto Label_6 3864.............................. end block 24 .............................. 3865............................. begin block 25 ............................. 3866Label_5: 3867 56| move-exception v3 3868.............................. end block 25 .............................. 3869 .try_begin_9 3870............................. begin block 26 ............................. 3871 57| invoke-virtual {v2,v3}, java.lang.Throwable.addSuppressed(java.lang.Throwable):void 3872.............................. end block 26 .............................. 3873............................. begin block 27 ............................. 3874Label_6: 3875 .end_local v0 3876 .end_local v5 3877 .end_local v6 3878 60| throw v2 3879.............................. end block 27 .............................. 3880 .try_end_9 3881 catch(java.io.IOException) : Label_7 3882 catch(java.lang.ClassNotFoundException) : Label_7 3883............................. begin block 28 ............................. 3884Label_7: 3885 .line 37 3886 .end_local v1 3887 .restart_local v0 3888 .restart_local v5 3889 .restart_local v6 3890 61| move-exception v1 3891 .line 38 3892 .local v1, "e", java.lang.Exception 3893 62| new-instance v2, java.lang.RuntimeException 3894.............................. end block 28 .............................. 3895............................. begin block 29 ............................. 3896 64| invoke-direct {v2,v1}, java.lang.RuntimeException.<init>(java.lang.Throwable):void 3897.............................. end block 29 .............................. 3898............................. begin block 30 ............................. 3899 67| throw v2 3900.............................. end block 30 .............................. 3901} 3902 3903method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.create(java.util.List):com.code_intelligence.jazzer.api.CannedFuzzedDataProvider 3904{ 3905 .try_begin_1 3906............................. begin block 1 ............................. 3907 .params "?" 3908 .src "CannedFuzzedDataProvider.java" 3909 .line 45 3910 .line 45 3911 .local_ex v4, "objects", java.util.List, "Ljava/util/List<Ljava/lang/Object;>;" 3912 0| new-instance v0, java.io.ByteArrayOutputStream 3913.............................. end block 1 .............................. 3914............................. begin block 2 ............................. 3915 2| invoke-direct {v0}, java.io.ByteArrayOutputStream.<init>():void 3916.............................. end block 2 .............................. 3917 .try_end_1 3918 catch(java.io.IOException) : Label_7 3919 .try_begin_2 3920............................. begin block 3 ............................. 3921 .line 46 3922 .local v0, "bout", java.io.ByteArrayOutputStream 3923 5| new-instance v1, java.io.ObjectOutputStream 3924.............................. end block 3 .............................. 3925............................. begin block 4 ............................. 3926 7| invoke-direct {v1,v0}, java.io.ObjectOutputStream.<init>(java.io.OutputStream):void 3927.............................. end block 4 .............................. 3928 .try_end_2 3929 catch(...) : Label_4 3930 .try_begin_3 3931............................. begin block 5 ............................. 3932 .line 47 3933 .local v1, "out", java.io.ObjectOutputStream 3934 10| new-instance v2, java.util.ArrayList 3935.............................. end block 5 .............................. 3936............................. begin block 6 ............................. 3937 12| invoke-direct {v2,v4}, java.util.ArrayList.<init>(java.util.Collection):void 3938.............................. end block 6 .............................. 3939............................. begin block 7 ............................. 3940 15| invoke-virtual {v1,v2}, java.io.ObjectOutputStream.writeObject(java.lang.Object):void 3941.............................. end block 7 .............................. 3942............................. begin block 8 ............................. 3943 .line 48 3944 18| invoke-static {}, java.util.Base64.getEncoder():java.util.Base64$Encoder 3945.............................. end block 8 .............................. 3946............................. begin block 9 ............................. 3947 21| move-result-object v2 3948 22| invoke-virtual {v0}, java.io.ByteArrayOutputStream.toByteArray():byte[] 3949.............................. end block 9 .............................. 3950............................. begin block 10 ............................. 3951 25| move-result-object v3 3952 26| invoke-virtual {v2,v3}, java.util.Base64$Encoder.encodeToString(byte[]):java.lang.String 3953.............................. end block 10 .............................. 3954............................. begin block 11 ............................. 3955 29| move-result-object v2 3956 .line 49 3957 .local v2, "base64", java.lang.String 3958 30| new-instance v3, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider 3959.............................. end block 11 .............................. 3960............................. begin block 12 ............................. 3961 32| invoke-direct {v3,v2}, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.<init>(java.lang.String):void 3962.............................. end block 12 .............................. 3963 .try_end_3 3964 catch(...) : Label_1 3965 .try_begin_4 3966............................. begin block 13 ............................. 3967 .line 50 3968 35| invoke-virtual {v1}, java.io.ObjectOutputStream.close():void 3969.............................. end block 13 .............................. 3970 .try_end_4 3971 catch(...) : Label_4 3972 .try_begin_5 3973............................. begin block 14 ............................. 3974 .line 51 3975 38| invoke-virtual {v0}, java.io.ByteArrayOutputStream.close():void 3976.............................. end block 14 .............................. 3977 .try_end_5 3978 catch(java.io.IOException) : Label_7 3979............................. begin block 15 ............................. 3980 .line 49 3981 41| return-object v3 3982.............................. end block 15 .............................. 3983............................. begin block 16 ............................. 3984Label_1: 3985 .line 46 3986 .end_local v2 3987 42| move-exception v2 3988.............................. end block 16 .............................. 3989 .try_begin_6 3990............................. begin block 17 ............................. 3991 43| invoke-virtual {v1}, java.io.ObjectOutputStream.close():void 3992.............................. end block 17 .............................. 3993 .try_end_6 3994 catch(...) : Label_2 3995............................. begin block 18 ............................. 3996 46| goto Label_3 3997.............................. end block 18 .............................. 3998............................. begin block 19 ............................. 3999Label_2: 4000 47| move-exception v3 4001.............................. end block 19 .............................. 4002 .try_begin_7 4003............................. begin block 20 ............................. 4004 48| invoke-virtual {v2,v3}, java.lang.Throwable.addSuppressed(java.lang.Throwable):void 4005.............................. end block 20 .............................. 4006............................. begin block 21 ............................. 4007Label_3: 4008 .end_local v0 4009 .end_local v4 4010 51| throw v2 4011.............................. end block 21 .............................. 4012 .try_end_7 4013 catch(...) : Label_4 4014............................. begin block 22 ............................. 4015Label_4: 4016 .line 45 4017 .end_local v1 4018 .restart_local v0 4019 .restart_local v4 4020 52| move-exception v1 4021.............................. end block 22 .............................. 4022 .try_begin_8 4023............................. begin block 23 ............................. 4024 53| invoke-virtual {v0}, java.io.ByteArrayOutputStream.close():void 4025.............................. end block 23 .............................. 4026 .try_end_8 4027 catch(...) : Label_5 4028............................. begin block 24 ............................. 4029 56| goto Label_6 4030.............................. end block 24 .............................. 4031............................. begin block 25 ............................. 4032Label_5: 4033 57| move-exception v2 4034.............................. end block 25 .............................. 4035 .try_begin_9 4036............................. begin block 26 ............................. 4037 58| invoke-virtual {v1,v2}, java.lang.Throwable.addSuppressed(java.lang.Throwable):void 4038.............................. end block 26 .............................. 4039............................. begin block 27 ............................. 4040Label_6: 4041 .end_local v4 4042 61| throw v1 4043.............................. end block 27 .............................. 4044 .try_end_9 4045 catch(java.io.IOException) : Label_7 4046............................. begin block 28 ............................. 4047Label_7: 4048 .line 52 4049 .end_local v0 4050 .restart_local v4 4051 62| move-exception v0 4052 .line 53 4053 .local v0, "e", java.io.IOException 4054 63| new-instance v1, java.lang.IllegalStateException 4055.............................. end block 28 .............................. 4056............................. begin block 29 ............................. 4057 65| invoke-direct {v1,v0}, java.lang.IllegalStateException.<init>(java.lang.Throwable):void 4058.............................. end block 29 .............................. 4059............................. begin block 30 ............................. 4060 68| throw v1 4061.............................. end block 30 .............................. 4062} 4063 4064method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeAsciiString(int):java.lang.String 4065{ 4066............................. begin block 1 ............................. 4067 .params "maxLength" 4068 .src "CannedFuzzedDataProvider.java" 4069 .line 179 4070 .line 179 4071 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4072.............................. end block 1 .............................. 4073............................. begin block 2 ............................. 4074 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4075.............................. end block 2 .............................. 4076............................. begin block 3 ............................. 4077 5| move-result-object v0 4078 6| check-cast v0, java.lang.String 4079.............................. end block 3 .............................. 4080............................. begin block 4 ............................. 4081 8| return-object v0 4082.............................. end block 4 .............................. 4083} 4084 4085method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeBoolean():boolean 4086{ 4087............................. begin block 1 ............................. 4088 .src "CannedFuzzedDataProvider.java" 4089 .line 59 4090 .line 59 4091 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4092.............................. end block 1 .............................. 4093............................. begin block 2 ............................. 4094 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4095.............................. end block 2 .............................. 4096............................. begin block 3 ............................. 4097 5| move-result-object v0 4098 6| check-cast v0, java.lang.Boolean 4099.............................. end block 3 .............................. 4100............................. begin block 4 ............................. 4101 8| invoke-virtual {v0}, java.lang.Boolean.booleanValue():boolean 4102.............................. end block 4 .............................. 4103............................. begin block 5 ............................. 4104 11| move-result v0 4105 12| return v0 4106.............................. end block 5 .............................. 4107} 4108 4109method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeBooleans(int):boolean[] 4110{ 4111............................. begin block 1 ............................. 4112 .params "maxLength" 4113 .src "CannedFuzzedDataProvider.java" 4114 .line 64 4115 .line 64 4116 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4117.............................. end block 1 .............................. 4118............................. begin block 2 ............................. 4119 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4120.............................. end block 2 .............................. 4121............................. begin block 3 ............................. 4122 5| move-result-object v0 4123 6| check-cast v0, boolean[] 4124.............................. end block 3 .............................. 4125............................. begin block 4 ............................. 4126 8| return-object v0 4127.............................. end block 4 .............................. 4128} 4129 4130method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeByte():byte 4131{ 4132............................. begin block 1 ............................. 4133 .src "CannedFuzzedDataProvider.java" 4134 .line 69 4135 .line 69 4136 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4137.............................. end block 1 .............................. 4138............................. begin block 2 ............................. 4139 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4140.............................. end block 2 .............................. 4141............................. begin block 3 ............................. 4142 5| move-result-object v0 4143 6| check-cast v0, java.lang.Byte 4144.............................. end block 3 .............................. 4145............................. begin block 4 ............................. 4146 8| invoke-virtual {v0}, java.lang.Byte.byteValue():byte 4147.............................. end block 4 .............................. 4148............................. begin block 5 ............................. 4149 11| move-result v0 4150 12| return v0 4151.............................. end block 5 .............................. 4152} 4153 4154method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeByte(byte, byte):byte 4155{ 4156............................. begin block 1 ............................. 4157 .params "min", "max" 4158 .src "CannedFuzzedDataProvider.java" 4159 .line 74 4160 .line 74 4161 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4162.............................. end block 1 .............................. 4163............................. begin block 2 ............................. 4164 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4165.............................. end block 2 .............................. 4166............................. begin block 3 ............................. 4167 5| move-result-object v0 4168 6| check-cast v0, java.lang.Byte 4169.............................. end block 3 .............................. 4170............................. begin block 4 ............................. 4171 8| invoke-virtual {v0}, java.lang.Byte.byteValue():byte 4172.............................. end block 4 .............................. 4173............................. begin block 5 ............................. 4174 11| move-result v0 4175 12| return v0 4176.............................. end block 5 .............................. 4177} 4178 4179method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeBytes(int):byte[] 4180{ 4181............................. begin block 1 ............................. 4182 .params "maxLength" 4183 .src "CannedFuzzedDataProvider.java" 4184 .line 199 4185 .line 199 4186 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4187.............................. end block 1 .............................. 4188............................. begin block 2 ............................. 4189 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4190.............................. end block 2 .............................. 4191............................. begin block 3 ............................. 4192 5| move-result-object v0 4193 6| check-cast v0, byte[] 4194.............................. end block 3 .............................. 4195............................. begin block 4 ............................. 4196 8| return-object v0 4197.............................. end block 4 .............................. 4198} 4199 4200method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeChar():char 4201{ 4202............................. begin block 1 ............................. 4203 .src "CannedFuzzedDataProvider.java" 4204 .line 164 4205 .line 164 4206 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4207.............................. end block 1 .............................. 4208............................. begin block 2 ............................. 4209 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4210.............................. end block 2 .............................. 4211............................. begin block 3 ............................. 4212 5| move-result-object v0 4213 6| check-cast v0, java.lang.Character 4214.............................. end block 3 .............................. 4215............................. begin block 4 ............................. 4216 8| invoke-virtual {v0}, java.lang.Character.charValue():char 4217.............................. end block 4 .............................. 4218............................. begin block 5 ............................. 4219 11| move-result v0 4220 12| return v0 4221.............................. end block 5 .............................. 4222} 4223 4224method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeChar(char, char):char 4225{ 4226............................. begin block 1 ............................. 4227 .params "min", "max" 4228 .src "CannedFuzzedDataProvider.java" 4229 .line 169 4230 .line 169 4231 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4232.............................. end block 1 .............................. 4233............................. begin block 2 ............................. 4234 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4235.............................. end block 2 .............................. 4236............................. begin block 3 ............................. 4237 5| move-result-object v0 4238 6| check-cast v0, java.lang.Character 4239.............................. end block 3 .............................. 4240............................. begin block 4 ............................. 4241 8| invoke-virtual {v0}, java.lang.Character.charValue():char 4242.............................. end block 4 .............................. 4243............................. begin block 5 ............................. 4244 11| move-result v0 4245 12| return v0 4246.............................. end block 5 .............................. 4247} 4248 4249method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeCharNoSurrogates():char 4250{ 4251............................. begin block 1 ............................. 4252 .src "CannedFuzzedDataProvider.java" 4253 .line 174 4254 .line 174 4255 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4256.............................. end block 1 .............................. 4257............................. begin block 2 ............................. 4258 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4259.............................. end block 2 .............................. 4260............................. begin block 3 ............................. 4261 5| move-result-object v0 4262 6| check-cast v0, java.lang.Character 4263.............................. end block 3 .............................. 4264............................. begin block 4 ............................. 4265 8| invoke-virtual {v0}, java.lang.Character.charValue():char 4266.............................. end block 4 .............................. 4267............................. begin block 5 ............................. 4268 11| move-result v0 4269 12| return v0 4270.............................. end block 5 .............................. 4271} 4272 4273method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeDouble():double 4274{ 4275............................. begin block 1 ............................. 4276 .src "CannedFuzzedDataProvider.java" 4277 .line 144 4278 .line 144 4279 0| iget-object v0, v2, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4280.............................. end block 1 .............................. 4281............................. begin block 2 ............................. 4282 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4283.............................. end block 2 .............................. 4284............................. begin block 3 ............................. 4285 5| move-result-object v0 4286 6| check-cast v0, java.lang.Double 4287.............................. end block 3 .............................. 4288............................. begin block 4 ............................. 4289 8| invoke-virtual {v0}, java.lang.Double.doubleValue():double 4290.............................. end block 4 .............................. 4291............................. begin block 5 ............................. 4292 11| move-result-wide v0:v1 4293 12| return-wide v0:v1 4294.............................. end block 5 .............................. 4295} 4296 4297method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeFloat():float 4298{ 4299............................. begin block 1 ............................. 4300 .src "CannedFuzzedDataProvider.java" 4301 .line 124 4302 .line 124 4303 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4304.............................. end block 1 .............................. 4305............................. begin block 2 ............................. 4306 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4307.............................. end block 2 .............................. 4308............................. begin block 3 ............................. 4309 5| move-result-object v0 4310 6| check-cast v0, java.lang.Float 4311.............................. end block 3 .............................. 4312............................. begin block 4 ............................. 4313 8| invoke-virtual {v0}, java.lang.Float.floatValue():float 4314.............................. end block 4 .............................. 4315............................. begin block 5 ............................. 4316 11| move-result v0 4317 12| return v0 4318.............................. end block 5 .............................. 4319} 4320 4321method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeInt():int 4322{ 4323............................. begin block 1 ............................. 4324 .src "CannedFuzzedDataProvider.java" 4325 .line 94 4326 .line 94 4327 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4328.............................. end block 1 .............................. 4329............................. begin block 2 ............................. 4330 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4331.............................. end block 2 .............................. 4332............................. begin block 3 ............................. 4333 5| move-result-object v0 4334 6| check-cast v0, java.lang.Integer 4335.............................. end block 3 .............................. 4336............................. begin block 4 ............................. 4337 8| invoke-virtual {v0}, java.lang.Integer.intValue():int 4338.............................. end block 4 .............................. 4339............................. begin block 5 ............................. 4340 11| move-result v0 4341 12| return v0 4342.............................. end block 5 .............................. 4343} 4344 4345method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeInt(int, int):int 4346{ 4347............................. begin block 1 ............................. 4348 .params "min", "max" 4349 .src "CannedFuzzedDataProvider.java" 4350 .line 99 4351 .line 99 4352 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4353.............................. end block 1 .............................. 4354............................. begin block 2 ............................. 4355 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4356.............................. end block 2 .............................. 4357............................. begin block 3 ............................. 4358 5| move-result-object v0 4359 6| check-cast v0, java.lang.Integer 4360.............................. end block 3 .............................. 4361............................. begin block 4 ............................. 4362 8| invoke-virtual {v0}, java.lang.Integer.intValue():int 4363.............................. end block 4 .............................. 4364............................. begin block 5 ............................. 4365 11| move-result v0 4366 12| return v0 4367.............................. end block 5 .............................. 4368} 4369 4370method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeInts(int):int[] 4371{ 4372............................. begin block 1 ............................. 4373 .params "maxLength" 4374 .src "CannedFuzzedDataProvider.java" 4375 .line 104 4376 .line 104 4377 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4378.............................. end block 1 .............................. 4379............................. begin block 2 ............................. 4380 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4381.............................. end block 2 .............................. 4382............................. begin block 3 ............................. 4383 5| move-result-object v0 4384 6| check-cast v0, int[] 4385.............................. end block 3 .............................. 4386............................. begin block 4 ............................. 4387 8| return-object v0 4388.............................. end block 4 .............................. 4389} 4390 4391method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeLong():long 4392{ 4393............................. begin block 1 ............................. 4394 .src "CannedFuzzedDataProvider.java" 4395 .line 109 4396 .line 109 4397 0| iget-object v0, v2, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4398.............................. end block 1 .............................. 4399............................. begin block 2 ............................. 4400 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4401.............................. end block 2 .............................. 4402............................. begin block 3 ............................. 4403 5| move-result-object v0 4404 6| check-cast v0, java.lang.Long 4405.............................. end block 3 .............................. 4406............................. begin block 4 ............................. 4407 8| invoke-virtual {v0}, java.lang.Long.longValue():long 4408.............................. end block 4 .............................. 4409............................. begin block 5 ............................. 4410 11| move-result-wide v0:v1 4411 12| return-wide v0:v1 4412.............................. end block 5 .............................. 4413} 4414 4415method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeLong(long, long):long 4416{ 4417............................. begin block 1 ............................. 4418 .params "min", "max" 4419 .src "CannedFuzzedDataProvider.java" 4420 .line 114 4421 .line 114 4422 0| iget-object v0, v2, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4423.............................. end block 1 .............................. 4424............................. begin block 2 ............................. 4425 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4426.............................. end block 2 .............................. 4427............................. begin block 3 ............................. 4428 5| move-result-object v0 4429 6| check-cast v0, java.lang.Long 4430.............................. end block 3 .............................. 4431............................. begin block 4 ............................. 4432 8| invoke-virtual {v0}, java.lang.Long.longValue():long 4433.............................. end block 4 .............................. 4434............................. begin block 5 ............................. 4435 11| move-result-wide v0:v1 4436 12| return-wide v0:v1 4437.............................. end block 5 .............................. 4438} 4439 4440method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeLongs(int):long[] 4441{ 4442............................. begin block 1 ............................. 4443 .params "maxLength" 4444 .src "CannedFuzzedDataProvider.java" 4445 .line 119 4446 .line 119 4447 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4448.............................. end block 1 .............................. 4449............................. begin block 2 ............................. 4450 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4451.............................. end block 2 .............................. 4452............................. begin block 3 ............................. 4453 5| move-result-object v0 4454 6| check-cast v0, long[] 4455.............................. end block 3 .............................. 4456............................. begin block 4 ............................. 4457 8| return-object v0 4458.............................. end block 4 .............................. 4459} 4460 4461method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeProbabilityDouble():double 4462{ 4463............................. begin block 1 ............................. 4464 .src "CannedFuzzedDataProvider.java" 4465 .line 159 4466 .line 159 4467 0| iget-object v0, v2, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4468.............................. end block 1 .............................. 4469............................. begin block 2 ............................. 4470 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4471.............................. end block 2 .............................. 4472............................. begin block 3 ............................. 4473 5| move-result-object v0 4474 6| check-cast v0, java.lang.Double 4475.............................. end block 3 .............................. 4476............................. begin block 4 ............................. 4477 8| invoke-virtual {v0}, java.lang.Double.doubleValue():double 4478.............................. end block 4 .............................. 4479............................. begin block 5 ............................. 4480 11| move-result-wide v0:v1 4481 12| return-wide v0:v1 4482.............................. end block 5 .............................. 4483} 4484 4485method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeProbabilityFloat():float 4486{ 4487............................. begin block 1 ............................. 4488 .src "CannedFuzzedDataProvider.java" 4489 .line 139 4490 .line 139 4491 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4492.............................. end block 1 .............................. 4493............................. begin block 2 ............................. 4494 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4495.............................. end block 2 .............................. 4496............................. begin block 3 ............................. 4497 5| move-result-object v0 4498 6| check-cast v0, java.lang.Float 4499.............................. end block 3 .............................. 4500............................. begin block 4 ............................. 4501 8| invoke-virtual {v0}, java.lang.Float.floatValue():float 4502.............................. end block 4 .............................. 4503............................. begin block 5 ............................. 4504 11| move-result v0 4505 12| return v0 4506.............................. end block 5 .............................. 4507} 4508 4509method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeRegularDouble():double 4510{ 4511............................. begin block 1 ............................. 4512 .src "CannedFuzzedDataProvider.java" 4513 .line 154 4514 .line 154 4515 0| iget-object v0, v2, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4516.............................. end block 1 .............................. 4517............................. begin block 2 ............................. 4518 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4519.............................. end block 2 .............................. 4520............................. begin block 3 ............................. 4521 5| move-result-object v0 4522 6| check-cast v0, java.lang.Double 4523.............................. end block 3 .............................. 4524............................. begin block 4 ............................. 4525 8| invoke-virtual {v0}, java.lang.Double.doubleValue():double 4526.............................. end block 4 .............................. 4527............................. begin block 5 ............................. 4528 11| move-result-wide v0:v1 4529 12| return-wide v0:v1 4530.............................. end block 5 .............................. 4531} 4532 4533method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeRegularDouble(double, double):double 4534{ 4535............................. begin block 1 ............................. 4536 .params "min", "max" 4537 .src "CannedFuzzedDataProvider.java" 4538 .line 149 4539 .line 149 4540 0| iget-object v0, v2, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4541.............................. end block 1 .............................. 4542............................. begin block 2 ............................. 4543 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4544.............................. end block 2 .............................. 4545............................. begin block 3 ............................. 4546 5| move-result-object v0 4547 6| check-cast v0, java.lang.Double 4548.............................. end block 3 .............................. 4549............................. begin block 4 ............................. 4550 8| invoke-virtual {v0}, java.lang.Double.doubleValue():double 4551.............................. end block 4 .............................. 4552............................. begin block 5 ............................. 4553 11| move-result-wide v0:v1 4554 12| return-wide v0:v1 4555.............................. end block 5 .............................. 4556} 4557 4558method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeRegularFloat():float 4559{ 4560............................. begin block 1 ............................. 4561 .src "CannedFuzzedDataProvider.java" 4562 .line 129 4563 .line 129 4564 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4565.............................. end block 1 .............................. 4566............................. begin block 2 ............................. 4567 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4568.............................. end block 2 .............................. 4569............................. begin block 3 ............................. 4570 5| move-result-object v0 4571 6| check-cast v0, java.lang.Float 4572.............................. end block 3 .............................. 4573............................. begin block 4 ............................. 4574 8| invoke-virtual {v0}, java.lang.Float.floatValue():float 4575.............................. end block 4 .............................. 4576............................. begin block 5 ............................. 4577 11| move-result v0 4578 12| return v0 4579.............................. end block 5 .............................. 4580} 4581 4582method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeRegularFloat(float, float):float 4583{ 4584............................. begin block 1 ............................. 4585 .params "min", "max" 4586 .src "CannedFuzzedDataProvider.java" 4587 .line 134 4588 .line 134 4589 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4590.............................. end block 1 .............................. 4591............................. begin block 2 ............................. 4592 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4593.............................. end block 2 .............................. 4594............................. begin block 3 ............................. 4595 5| move-result-object v0 4596 6| check-cast v0, java.lang.Float 4597.............................. end block 3 .............................. 4598............................. begin block 4 ............................. 4599 8| invoke-virtual {v0}, java.lang.Float.floatValue():float 4600.............................. end block 4 .............................. 4601............................. begin block 5 ............................. 4602 11| move-result v0 4603 12| return v0 4604.............................. end block 5 .............................. 4605} 4606 4607method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeRemainingAsAsciiString():java.lang.String 4608{ 4609............................. begin block 1 ............................. 4610 .src "CannedFuzzedDataProvider.java" 4611 .line 189 4612 .line 189 4613 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4614.............................. end block 1 .............................. 4615............................. begin block 2 ............................. 4616 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4617.............................. end block 2 .............................. 4618............................. begin block 3 ............................. 4619 5| move-result-object v0 4620 6| check-cast v0, java.lang.String 4621.............................. end block 3 .............................. 4622............................. begin block 4 ............................. 4623 8| return-object v0 4624.............................. end block 4 .............................. 4625} 4626 4627method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeRemainingAsBytes():byte[] 4628{ 4629............................. begin block 1 ............................. 4630 .src "CannedFuzzedDataProvider.java" 4631 .line 204 4632 .line 204 4633 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4634.............................. end block 1 .............................. 4635............................. begin block 2 ............................. 4636 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4637.............................. end block 2 .............................. 4638............................. begin block 3 ............................. 4639 5| move-result-object v0 4640 6| check-cast v0, byte[] 4641.............................. end block 3 .............................. 4642............................. begin block 4 ............................. 4643 8| return-object v0 4644.............................. end block 4 .............................. 4645} 4646 4647method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeRemainingAsString():java.lang.String 4648{ 4649............................. begin block 1 ............................. 4650 .src "CannedFuzzedDataProvider.java" 4651 .line 194 4652 .line 194 4653 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4654.............................. end block 1 .............................. 4655............................. begin block 2 ............................. 4656 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4657.............................. end block 2 .............................. 4658............................. begin block 3 ............................. 4659 5| move-result-object v0 4660 6| check-cast v0, java.lang.String 4661.............................. end block 3 .............................. 4662............................. begin block 4 ............................. 4663 8| return-object v0 4664.............................. end block 4 .............................. 4665} 4666 4667method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeShort():short 4668{ 4669............................. begin block 1 ............................. 4670 .src "CannedFuzzedDataProvider.java" 4671 .line 79 4672 .line 79 4673 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4674.............................. end block 1 .............................. 4675............................. begin block 2 ............................. 4676 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4677.............................. end block 2 .............................. 4678............................. begin block 3 ............................. 4679 5| move-result-object v0 4680 6| check-cast v0, java.lang.Short 4681.............................. end block 3 .............................. 4682............................. begin block 4 ............................. 4683 8| invoke-virtual {v0}, java.lang.Short.shortValue():short 4684.............................. end block 4 .............................. 4685............................. begin block 5 ............................. 4686 11| move-result v0 4687 12| return v0 4688.............................. end block 5 .............................. 4689} 4690 4691method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeShort(short, short):short 4692{ 4693............................. begin block 1 ............................. 4694 .params "min", "max" 4695 .src "CannedFuzzedDataProvider.java" 4696 .line 84 4697 .line 84 4698 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4699.............................. end block 1 .............................. 4700............................. begin block 2 ............................. 4701 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4702.............................. end block 2 .............................. 4703............................. begin block 3 ............................. 4704 5| move-result-object v0 4705 6| check-cast v0, java.lang.Short 4706.............................. end block 3 .............................. 4707............................. begin block 4 ............................. 4708 8| invoke-virtual {v0}, java.lang.Short.shortValue():short 4709.............................. end block 4 .............................. 4710............................. begin block 5 ............................. 4711 11| move-result v0 4712 12| return v0 4713.............................. end block 5 .............................. 4714} 4715 4716method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeShorts(int):short[] 4717{ 4718............................. begin block 1 ............................. 4719 .params "maxLength" 4720 .src "CannedFuzzedDataProvider.java" 4721 .line 89 4722 .line 89 4723 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4724.............................. end block 1 .............................. 4725............................. begin block 2 ............................. 4726 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4727.............................. end block 2 .............................. 4728............................. begin block 3 ............................. 4729 5| move-result-object v0 4730 6| check-cast v0, short[] 4731.............................. end block 3 .............................. 4732............................. begin block 4 ............................. 4733 8| return-object v0 4734.............................. end block 4 .............................. 4735} 4736 4737method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeString(int):java.lang.String 4738{ 4739............................. begin block 1 ............................. 4740 .params "maxLength" 4741 .src "CannedFuzzedDataProvider.java" 4742 .line 184 4743 .line 184 4744 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4745.............................. end block 1 .............................. 4746............................. begin block 2 ............................. 4747 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4748.............................. end block 2 .............................. 4749............................. begin block 3 ............................. 4750 5| move-result-object v0 4751 6| check-cast v0, java.lang.String 4752.............................. end block 3 .............................. 4753............................. begin block 4 ............................. 4754 8| return-object v0 4755.............................. end block 4 .............................. 4756} 4757 4758method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.remainingBytes():int 4759{ 4760............................. begin block 1 ............................. 4761 .src "CannedFuzzedDataProvider.java" 4762 .line 209 4763 .line 209 4764 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 4765.............................. end block 1 .............................. 4766............................. begin block 2 ............................. 4767 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 4768.............................. end block 2 .............................. 4769............................. begin block 3 ............................. 4770 5| move-result-object v0 4771 6| check-cast v0, java.lang.Integer 4772.............................. end block 3 .............................. 4773............................. begin block 4 ............................. 4774 8| invoke-virtual {v0}, java.lang.Integer.intValue():int 4775.............................. end block 4 .............................. 4776............................. begin block 5 ............................. 4777 11| move-result v0 4778 12| return v0 4779.............................. end block 5 .............................. 4780} 4781