1 2method ExampleJavaJniFuzzer.<init>():void 3{ 4 .src "ExampleJavaJniFuzzer.java" 5 .line 18 6 .line 18 7 0| invoke-direct {v1}, java.lang.Object.<init>():void 8 3| const/4 v0, #+0 (0x00000000 | 0.00000) 9 4| invoke-static {v0}, com.code_intelligence.jazzer.runtime.CoverageMap.recordCoverage(int):void 10 7| return-void 11} 12 13method ExampleJavaJniFuzzer.fuzzerTestOneInput(com.code_intelligence.jazzer.api.FuzzedDataProvider):void 14{ 15 .params "data" 16 .src "ExampleJavaJniFuzzer.java" 17 .line 21 18 .line 21 19 0| invoke-interface {v5}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeRemainingAsAsciiString():java.lang.String 20 3| move-result-object v0 21 4| const/4 v1, #+1 (0x00000001 | 1.40130e-45) 22 .try_begin_1 23 5| invoke-static {v1}, com.code_intelligence.jazzer.runtime.CoverageMap.recordCoverage(int):void 24 .try_end_1 25 catch(java.lang.ClassNotFoundException) : Label_2 26 catch(java.lang.InstantiationException) : Label_2 27 catch(java.lang.IllegalAccessException) : Label_2 28 .try_begin_2 29 .line 23 30 .local v0, "input", java.lang.String 31 8| const-class v1, ExampleJavaJniFuzzer 32 10| invoke-virtual {v1}, java.lang.Class.getClassLoader():java.lang.ClassLoader 33 13| move-result-object v1 34 14| filled-new-array {v0}, java.lang.Object[] 35 17| move-result-object v2 36 18| const-method-handle v3, loadClass 37 20| const v4, #+1696909080 (0x6524c718 | 4.86338e+22) 38 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 39 26| const/4 v3, #+0 (0x00000000 | 0.00000) 40 27| aget-object v2, v2, v3 41 29| check-cast v2, java.lang.String 42 31| invoke-virtual {v1,v2}, java.lang.ClassLoader.loadClass(java.lang.String):java.lang.Class 43 34| move-result-object v1 44 35| invoke-virtual {v1}, java.lang.Class.newInstance():java.lang.Object 45 .try_end_2 46 catch(java.lang.ClassNotFoundException) : Label_1 47 catch(java.lang.InstantiationException) : Label_1 48 catch(java.lang.IllegalAccessException) : Label_1 49 .line 25 50 38| const/4 v1, #+2 (0x00000002 | 2.80260e-45) 51 39| invoke-static {v1}, com.code_intelligence.jazzer.runtime.CoverageMap.recordCoverage(int):void 52 42| goto Label_4 53Label_1: 54 .line 24 55 43| move-exception v1 56 44| goto Label_3 57Label_2: 58 .end_local v0 59 45| move-exception v1 60Label_3: 61 .restart_local v0 62 46| const/4 v1, #+3 (0x00000003 | 4.20390e-45) 63 47| invoke-static {v1}, com.code_intelligence.jazzer.runtime.CoverageMap.recordCoverage(int):void 64Label_4: 65 .line 26 66 50| const/4 v1, #+4 (0x00000004 | 5.60519e-45) 67 51| invoke-static {v1}, com.code_intelligence.jazzer.runtime.CoverageMap.recordCoverage(int):void 68 54| return-void 69} 70 71method com.code_intelligence.jazzer.api.AutofuzzConstructionException.<init>():void 72{ 73 .src "AutofuzzConstructionException.java" 74 .line 24 75 .line 24 76 0| invoke-direct {v0}, java.lang.RuntimeException.<init>():void 77 .line 25 78 3| return-void 79} 80 81method com.code_intelligence.jazzer.api.AutofuzzConstructionException.<init>(java.lang.String):void 82{ 83 .params "message" 84 .src "AutofuzzConstructionException.java" 85 .line 27 86 .line 27 87 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.String):void 88 .line 28 89 3| return-void 90} 91 92method com.code_intelligence.jazzer.api.AutofuzzConstructionException.<init>(java.lang.Throwable):void 93{ 94 .params "cause" 95 .src "AutofuzzConstructionException.java" 96 .line 30 97 .line 30 98 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.Throwable):void 99 .line 31 100 3| return-void 101} 102 103method com.code_intelligence.jazzer.api.AutofuzzInvocationException.<init>(java.lang.Throwable):void 104{ 105 .params "cause" 106 .src "AutofuzzInvocationException.java" 107 .line 24 108 .line 24 109 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.Throwable):void 110 .line 25 111 3| return-void 112} 113 114method com.code_intelligence.jazzer.api.Consumer1.accept(java.lang.Object):void 115{ 116} 117 118method com.code_intelligence.jazzer.api.Consumer2.accept(java.lang.Object, java.lang.Object):void 119{ 120} 121 122method com.code_intelligence.jazzer.api.Consumer3.accept(java.lang.Object, java.lang.Object, java.lang.Object):void 123{ 124} 125 126method com.code_intelligence.jazzer.api.Consumer4.accept(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object):void 127{ 128} 129 130method com.code_intelligence.jazzer.api.Consumer5.accept(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object):void 131{ 132} 133 134method com.code_intelligence.jazzer.api.Function1.apply(java.lang.Object):java.lang.Object 135{ 136} 137 138method com.code_intelligence.jazzer.api.Function2.apply(java.lang.Object, java.lang.Object):java.lang.Object 139{ 140} 141 142method com.code_intelligence.jazzer.api.Function3.apply(java.lang.Object, java.lang.Object, java.lang.Object):java.lang.Object 143{ 144} 145 146method com.code_intelligence.jazzer.api.Function4.apply(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object):java.lang.Object 147{ 148} 149 150method 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 151{ 152} 153 154method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeAsciiString(int):java.lang.String 155{ 156} 157 158method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeBoolean():boolean 159{ 160} 161 162method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeBooleans(int):boolean[] 163{ 164} 165 166method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeByte():byte 167{ 168} 169 170method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeByte(byte, byte):byte 171{ 172} 173 174method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeBytes(int):byte[] 175{ 176} 177 178method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeChar():char 179{ 180} 181 182method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeChar(char, char):char 183{ 184} 185 186method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeCharNoSurrogates():char 187{ 188} 189 190method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeDouble():double 191{ 192} 193 194method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeFloat():float 195{ 196} 197 198method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt():int 199{ 200} 201 202method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 203{ 204} 205 206method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInts(int):int[] 207{ 208} 209 210method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeLong():long 211{ 212} 213 214method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeLong(long, long):long 215{ 216} 217 218method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeLongs(int):long[] 219{ 220} 221 222method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeProbabilityDouble():double 223{ 224} 225 226method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeProbabilityFloat():float 227{ 228} 229 230method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeRegularDouble():double 231{ 232} 233 234method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeRegularDouble(double, double):double 235{ 236} 237 238method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeRegularFloat():float 239{ 240} 241 242method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeRegularFloat(float, float):float 243{ 244} 245 246method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeRemainingAsAsciiString():java.lang.String 247{ 248} 249 250method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeRemainingAsBytes():byte[] 251{ 252} 253 254method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeRemainingAsString():java.lang.String 255{ 256} 257 258method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeShort():short 259{ 260} 261 262method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeShort(short, short):short 263{ 264} 265 266method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeShorts(int):short[] 267{ 268} 269 270method com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeString(int):java.lang.String 271{ 272} 273 274method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(byte[]):byte 275{ 276 .params "array" 277 .src "FuzzedDataProvider.java" 278 .line 333 279 .line 333 280 0| array-length v0, v3 281 1| add-int/lit8 v0, v0, #-1 (0xffffffff | NaN) 282 3| const/4 v1, #+0 (0x00000000 | 0.00000) 283 4| invoke-interface {v2,v1,v0}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 284 7| move-result v0 285 8| aget-byte v0, v3, v0 286 10| return v0 287} 288 289method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(char[]):char 290{ 291 .params "array" 292 .src "FuzzedDataProvider.java" 293 .line 399 294 .line 399 295 0| array-length v0, v3 296 1| add-int/lit8 v0, v0, #-1 (0xffffffff | NaN) 297 3| const/4 v1, #+0 (0x00000000 | 0.00000) 298 4| invoke-interface {v2,v1,v0}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 299 7| move-result v0 300 8| aget-char v0, v3, v0 301 10| return v0 302} 303 304method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(double[]):double 305{ 306 .params "array" 307 .src "FuzzedDataProvider.java" 308 .line 377 309 .line 377 310 0| array-length v0, v3 311 1| add-int/lit8 v0, v0, #-1 (0xffffffff | NaN) 312 3| const/4 v1, #+0 (0x00000000 | 0.00000) 313 4| invoke-interface {v2,v1,v0}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 314 7| move-result v0 315 8| aget-wide v0:v1, v3, v0 316 10| return-wide v0:v1 317} 318 319method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(float[]):float 320{ 321 .params "array" 322 .src "FuzzedDataProvider.java" 323 .line 388 324 .line 388 325 0| array-length v0, v3 326 1| add-int/lit8 v0, v0, #-1 (0xffffffff | NaN) 327 3| const/4 v1, #+0 (0x00000000 | 0.00000) 328 4| invoke-interface {v2,v1,v0}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 329 7| move-result v0 330 8| aget v0, v3, v0 331 10| return v0 332} 333 334method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(int[]):int 335{ 336 .params "array" 337 .src "FuzzedDataProvider.java" 338 .line 355 339 .line 355 340 0| array-length v0, v3 341 1| add-int/lit8 v0, v0, #-1 (0xffffffff | NaN) 342 3| const/4 v1, #+0 (0x00000000 | 0.00000) 343 4| invoke-interface {v2,v1,v0}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 344 7| move-result v0 345 8| aget v0, v3, v0 346 10| return v0 347} 348 349method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(long[]):long 350{ 351 .params "array" 352 .src "FuzzedDataProvider.java" 353 .line 366 354 .line 366 355 0| array-length v0, v3 356 1| add-int/lit8 v0, v0, #-1 (0xffffffff | NaN) 357 3| const/4 v1, #+0 (0x00000000 | 0.00000) 358 4| invoke-interface {v2,v1,v0}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 359 7| move-result v0 360 8| aget-wide v0:v1, v3, v0 361 10| return-wide v0:v1 362} 363 364method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(java.util.Collection):java.lang.Object 365{ 366 .params "?" 367 .src "FuzzedDataProvider.java" 368 .line 291 369 .line 291 370 .local_ex v5, "collection", java.util.Collection, "Ljava/util/Collection<TT;>;" 371 0| invoke-interface {v5}, java.util.Collection.size():int 372 3| move-result v0 373 .line 292 374 .local v0, "size", int 375 4| if-eqz v0, Label_2 376 .line 295 377 6| instance-of v1, v5, java.util.List 378 8| if-eqz v1, Label_1 379 .line 296 380 10| move-object v1, v5 381 11| check-cast v1, java.util.List 382 13| add-int/lit8 v2, v0, #-1 (0xffffffff | NaN) 383 15| const/4 v3, #+0 (0x00000000 | 0.00000) 384 16| invoke-interface {v4,v3,v2}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 385 19| move-result v2 386 20| invoke-interface {v1,v2}, java.util.List.get(int):java.lang.Object 387 23| move-result-object v1 388 24| return-object v1 389Label_1: 390 .line 298 391 25| invoke-interface {v5}, java.util.Collection.toArray():java.lang.Object[] 392 28| move-result-object v1 393 29| invoke-interface {v4,v1}, com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(java.lang.Object[]):java.lang.Object 394 32| move-result-object v1 395 33| return-object v1 396Label_2: 397 .line 293 398 34| new-instance v1, java.lang.IllegalArgumentException 399 36| const-string v2, "collection is empty" 400 38| invoke-direct {v1,v2}, java.lang.IllegalArgumentException.<init>(java.lang.String):void 401 41| throw v1 402} 403 404method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(java.lang.Object[]):java.lang.Object 405{ 406 .params "?" 407 .src "FuzzedDataProvider.java" 408 .line 311 409 .line 311 410 .local_ex v3, "array", java.lang.Object[], "[TT;" 411 0| array-length v0, v3 412 1| add-int/lit8 v0, v0, #-1 (0xffffffff | NaN) 413 3| const/4 v1, #+0 (0x00000000 | 0.00000) 414 4| invoke-interface {v2,v1,v0}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 415 7| move-result v0 416 8| aget-object v0, v3, v0 417 10| return-object v0 418} 419 420method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(short[]):short 421{ 422 .params "array" 423 .src "FuzzedDataProvider.java" 424 .line 344 425 .line 344 426 0| array-length v0, v3 427 1| add-int/lit8 v0, v0, #-1 (0xffffffff | NaN) 428 3| const/4 v1, #+0 (0x00000000 | 0.00000) 429 4| invoke-interface {v2,v1,v0}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 430 7| move-result v0 431 8| aget-short v0, v3, v0 432 10| return v0 433} 434 435method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(boolean[]):boolean 436{ 437 .params "array" 438 .src "FuzzedDataProvider.java" 439 .line 322 440 .line 322 441 0| array-length v0, v3 442 1| add-int/lit8 v0, v0, #-1 (0xffffffff | NaN) 443 3| const/4 v1, #+0 (0x00000000 | 0.00000) 444 4| invoke-interface {v2,v1,v0}, com.code_intelligence.jazzer.api.FuzzedDataProvider.consumeInt(int, int):int 445 7| move-result v0 446 8| aget-boolean v0, v3, v0 447 10| return v0 448} 449 450method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValues(java.util.Collection, int):java.util.List 451{ 452 .params "?", "numOfElements" 453 .src "FuzzedDataProvider.java" 454 .line 413 455 .line 413 456 .local_ex v6, "collection", java.util.Collection, "Ljava/util/Collection<TT;>;" 457 0| invoke-interface {v6}, java.util.Collection.size():int 458 3| move-result v0 459 .line 414 460 .local v0, "size", int 461 4| if-eqz v0, Label_4 462 .line 417 463 6| invoke-interface {v6}, java.util.Collection.size():int 464 9| move-result v1 465 10| if-gt v7, v1, Label_3 466 .line 421 467 12| new-instance v1, java.util.ArrayList 468 14| invoke-direct {v1,v6}, java.util.ArrayList.<init>(java.util.Collection):void 469 .line 422 470 .local_ex v1, "remainingElements", java.util.List, "Ljava/util/List<TT;>;" 471 17| new-instance v2, java.util.ArrayList 472 19| invoke-direct {v2}, java.util.ArrayList.<init>():void 473 .line 423 474 .local_ex v2, "pickedElements", java.util.List, "Ljava/util/List<TT;>;" 475 22| const/4 v3, #+0 (0x00000000 | 0.00000) 476Label_1: 477 .local v3, "i", int 478 23| if-ge v3, v7, Label_2 479 .line 424 480 25| invoke-interface {v5,v1}, com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValue(java.util.Collection):java.lang.Object 481 28| move-result-object v4 482 .line 425 483 .local_ex v4, "element", java.lang.Object, "TT;" 484 29| invoke-interface {v2,v4}, java.util.List.add(java.lang.Object):boolean 485 .line 426 486 32| invoke-interface {v1,v4}, java.util.List.remove(java.lang.Object):boolean 487 .line 423 488 .end_local v4 489 35| add-int/lit8 v3, v3, #+1 (0x00000001 | 1.40130e-45) 490 37| goto Label_1 491Label_2: 492 .line 428 493 .end_local v3 494 38| return-object v2 495Label_3: 496 .line 418 497 .end_local v1 498 .end_local v2 499 39| new-instance v1, java.lang.IllegalArgumentException 500 41| const-string v2, "numOfElements exceeds collection.size()" 501 43| invoke-direct {v1,v2}, java.lang.IllegalArgumentException.<init>(java.lang.String):void 502 46| throw v1 503Label_4: 504 .line 415 505 47| new-instance v1, java.lang.IllegalArgumentException 506 49| const-string v2, "collection is empty" 507 51| invoke-direct {v1,v2}, java.lang.IllegalArgumentException.<init>(java.lang.String):void 508 54| throw v1 509} 510 511method com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValues(java.lang.Object[], int):java.util.List 512{ 513 .params "?", "numOfElements" 514 .src "FuzzedDataProvider.java" 515 .line 442 516 .line 442 517 .local_ex v2, "array", java.lang.Object[], "[TT;" 518 0| invoke-static {v2}, java.util.Arrays.asList(java.lang.Object[]):java.util.List 519 3| move-result-object v0 520 4| invoke-interface {v1,v0,v3}, com.code_intelligence.jazzer.api.FuzzedDataProvider.pickValues(java.util.Collection, int):java.util.List 521 7| move-result-object v0 522 8| return-object v0 523} 524 525method com.code_intelligence.jazzer.api.FuzzedDataProvider.remainingBytes():int 526{ 527} 528 529method com.code_intelligence.jazzer.api.FuzzerSecurityIssueCritical.<init>():void 530{ 531 .src "FuzzerSecurityIssueCritical.java" 532 .line 26 533 .line 26 534 0| invoke-direct {v0}, java.lang.RuntimeException.<init>():void 535 3| return-void 536} 537 538method com.code_intelligence.jazzer.api.FuzzerSecurityIssueCritical.<init>(java.lang.String):void 539{ 540 .params "message" 541 .src "FuzzerSecurityIssueCritical.java" 542 .line 29 543 .line 29 544 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.String):void 545 .line 30 546 3| return-void 547} 548 549method com.code_intelligence.jazzer.api.FuzzerSecurityIssueCritical.<init>(java.lang.String, java.lang.Throwable):void 550{ 551 .params "message", "cause" 552 .src "FuzzerSecurityIssueCritical.java" 553 .line 33 554 .line 33 555 0| invoke-direct {v0,v1,v2}, java.lang.RuntimeException.<init>(java.lang.String, java.lang.Throwable):void 556 .line 34 557 3| return-void 558} 559 560method com.code_intelligence.jazzer.api.FuzzerSecurityIssueCritical.<init>(java.lang.Throwable):void 561{ 562 .params "cause" 563 .src "FuzzerSecurityIssueCritical.java" 564 .line 37 565 .line 37 566 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.Throwable):void 567 .line 38 568 3| return-void 569} 570 571method com.code_intelligence.jazzer.api.FuzzerSecurityIssueHigh.<init>():void 572{ 573 .src "FuzzerSecurityIssueHigh.java" 574 .line 26 575 .line 26 576 0| invoke-direct {v0}, java.lang.RuntimeException.<init>():void 577 3| return-void 578} 579 580method com.code_intelligence.jazzer.api.FuzzerSecurityIssueHigh.<init>(java.lang.String):void 581{ 582 .params "message" 583 .src "FuzzerSecurityIssueHigh.java" 584 .line 29 585 .line 29 586 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.String):void 587 .line 30 588 3| return-void 589} 590 591method com.code_intelligence.jazzer.api.FuzzerSecurityIssueHigh.<init>(java.lang.String, java.lang.Throwable):void 592{ 593 .params "message", "cause" 594 .src "FuzzerSecurityIssueHigh.java" 595 .line 33 596 .line 33 597 0| invoke-direct {v0,v1,v2}, java.lang.RuntimeException.<init>(java.lang.String, java.lang.Throwable):void 598 .line 34 599 3| return-void 600} 601 602method com.code_intelligence.jazzer.api.FuzzerSecurityIssueHigh.<init>(java.lang.Throwable):void 603{ 604 .params "cause" 605 .src "FuzzerSecurityIssueHigh.java" 606 .line 37 607 .line 37 608 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.Throwable):void 609 .line 38 610 3| return-void 611} 612 613method com.code_intelligence.jazzer.api.FuzzerSecurityIssueLow.<init>():void 614{ 615 .src "FuzzerSecurityIssueLow.java" 616 .line 26 617 .line 26 618 0| invoke-direct {v0}, java.lang.RuntimeException.<init>():void 619 3| return-void 620} 621 622method com.code_intelligence.jazzer.api.FuzzerSecurityIssueLow.<init>(java.lang.String):void 623{ 624 .params "message" 625 .src "FuzzerSecurityIssueLow.java" 626 .line 29 627 .line 29 628 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.String):void 629 .line 30 630 3| return-void 631} 632 633method com.code_intelligence.jazzer.api.FuzzerSecurityIssueLow.<init>(java.lang.String, java.lang.Throwable):void 634{ 635 .params "message", "cause" 636 .src "FuzzerSecurityIssueLow.java" 637 .line 33 638 .line 33 639 0| invoke-direct {v0,v1,v2}, java.lang.RuntimeException.<init>(java.lang.String, java.lang.Throwable):void 640 .line 34 641 3| return-void 642} 643 644method com.code_intelligence.jazzer.api.FuzzerSecurityIssueLow.<init>(java.lang.Throwable):void 645{ 646 .params "cause" 647 .src "FuzzerSecurityIssueLow.java" 648 .line 37 649 .line 37 650 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.Throwable):void 651 .line 38 652 3| return-void 653} 654 655method com.code_intelligence.jazzer.api.FuzzerSecurityIssueMedium.<init>():void 656{ 657 .src "FuzzerSecurityIssueMedium.java" 658 .line 26 659 .line 26 660 0| invoke-direct {v0}, java.lang.RuntimeException.<init>():void 661 3| return-void 662} 663 664method com.code_intelligence.jazzer.api.FuzzerSecurityIssueMedium.<init>(java.lang.String):void 665{ 666 .params "message" 667 .src "FuzzerSecurityIssueMedium.java" 668 .line 29 669 .line 29 670 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.String):void 671 .line 30 672 3| return-void 673} 674 675method com.code_intelligence.jazzer.api.FuzzerSecurityIssueMedium.<init>(java.lang.String, java.lang.Throwable):void 676{ 677 .params "message", "cause" 678 .src "FuzzerSecurityIssueMedium.java" 679 .line 33 680 .line 33 681 0| invoke-direct {v0,v1,v2}, java.lang.RuntimeException.<init>(java.lang.String, java.lang.Throwable):void 682 .line 34 683 3| return-void 684} 685 686method com.code_intelligence.jazzer.api.FuzzerSecurityIssueMedium.<init>(java.lang.Throwable):void 687{ 688 .params "cause" 689 .src "FuzzerSecurityIssueMedium.java" 690 .line 37 691 .line 37 692 0| invoke-direct {v0,v1}, java.lang.RuntimeException.<init>(java.lang.Throwable):void 693 .line 38 694 3| return-void 695} 696 697method com.code_intelligence.jazzer.api.HookType.$values():com.code_intelligence.jazzer.api.HookType[] 698{ 699 .src "HookType.java" 700 .line 21 701 .line 21 702 0| sget-object v0, com.code_intelligence.jazzer.api.HookType.BEFORE 703 2| sget-object v1, com.code_intelligence.jazzer.api.HookType.REPLACE 704 4| sget-object v2, com.code_intelligence.jazzer.api.HookType.AFTER 705 6| filled-new-array {v0,v1,v2}, com.code_intelligence.jazzer.api.HookType[] 706 9| move-result-object v0 707 10| return-object v0 708} 709 710method com.code_intelligence.jazzer.api.HookType.<clinit>():void 711{ 712 .src "HookType.java" 713 .line 22 714 .line 22 715 0| new-instance v0, com.code_intelligence.jazzer.api.HookType 716 2| const-string v1, "BEFORE" 717 4| const/4 v2, #+0 (0x00000000 | 0.00000) 718 5| invoke-direct {v0,v1,v2}, com.code_intelligence.jazzer.api.HookType.<init>(java.lang.String, int):void 719 8| sput-object v0, com.code_intelligence.jazzer.api.HookType.BEFORE 720 .line 23 721 10| new-instance v0, com.code_intelligence.jazzer.api.HookType 722 12| const-string v1, "REPLACE" 723 14| const/4 v2, #+1 (0x00000001 | 1.40130e-45) 724 15| invoke-direct {v0,v1,v2}, com.code_intelligence.jazzer.api.HookType.<init>(java.lang.String, int):void 725 18| sput-object v0, com.code_intelligence.jazzer.api.HookType.REPLACE 726 .line 24 727 20| new-instance v0, com.code_intelligence.jazzer.api.HookType 728 22| const-string v1, "AFTER" 729 24| const/4 v2, #+2 (0x00000002 | 2.80260e-45) 730 25| invoke-direct {v0,v1,v2}, com.code_intelligence.jazzer.api.HookType.<init>(java.lang.String, int):void 731 28| sput-object v0, com.code_intelligence.jazzer.api.HookType.AFTER 732 .line 21 733 30| invoke-static {}, com.code_intelligence.jazzer.api.HookType.$values():com.code_intelligence.jazzer.api.HookType[] 734 33| move-result-object v0 735 34| sput-object v0, com.code_intelligence.jazzer.api.HookType.$VALUES 736 36| return-void 737} 738 739method com.code_intelligence.jazzer.api.HookType.<init>(java.lang.String, int):void 740{ 741 .params "?", "?" 742 .src "HookType.java" 743 .line 21 744 .line 21 745 0| invoke-direct {v0,v1,v2}, java.lang.Enum.<init>(java.lang.String, int):void 746 3| return-void 747} 748 749method com.code_intelligence.jazzer.api.HookType.valueOf(java.lang.String):com.code_intelligence.jazzer.api.HookType 750{ 751 .params "name" 752 .src "HookType.java" 753 .line 21 754 .line 21 755 0| const-class v0, com.code_intelligence.jazzer.api.HookType 756 2| invoke-static {v0,v1}, java.lang.Enum.valueOf(java.lang.Class, java.lang.String):java.lang.Enum 757 5| move-result-object v0 758 6| check-cast v0, com.code_intelligence.jazzer.api.HookType 759 8| return-object v0 760} 761 762method com.code_intelligence.jazzer.api.HookType.values():com.code_intelligence.jazzer.api.HookType[] 763{ 764 .src "HookType.java" 765 .line 21 766 .line 21 767 0| sget-object v0, com.code_intelligence.jazzer.api.HookType.$VALUES 768 2| invoke-virtual {v0}, com.code_intelligence.jazzer.api.HookType[].clone():java.lang.Object 769 5| move-result-object v0 770 6| check-cast v0, com.code_intelligence.jazzer.api.HookType[] 771 8| return-object v0 772} 773 774method com.code_intelligence.jazzer.api.Jazzer.<clinit>():void 775{ 776 .src "Jazzer.java" 777 .line 38 778 .line 38 779 0| const-class v0, byte[] 780 2| const-string v1, "autofuzz" 781 4| invoke-static {}, com.code_intelligence.jazzer.api.Jazzer.getLibFuzzerSeed():int 782 7| move-result v2 783 8| sput v2, com.code_intelligence.jazzer.api.Jazzer.SEED 784 .line 62 785 10| const/4 v2, #+0 (0x00000000 | 0.00000) 786 .line 63 787 .local_ex v2, "jazzerInternal", java.lang.Class, "Ljava/lang/Class<*>;" 788 11| const/4 v3, #+0 (0x00000000 | 0.00000) 789 .line 64 790 .local v3, "onFuzzTargetReady", java.lang.invoke.MethodHandle 791 12| const/4 v4, #+0 (0x00000000 | 0.00000) 792 .line 65 793 .local v4, "traceStrcmp", java.lang.invoke.MethodHandle 794 13| const/4 v5, #+0 (0x00000000 | 0.00000) 795 .line 66 796 .local v5, "traceStrstr", java.lang.invoke.MethodHandle 797 14| const/4 v6, #+0 (0x00000000 | 0.00000) 798 .line 67 799 .local v6, "traceMemcmp", java.lang.invoke.MethodHandle 800 15| const/4 v7, #+0 (0x00000000 | 0.00000) 801 .line 68 802 .local v7, "tracePcIndir", java.lang.invoke.MethodHandle 803 16| const/4 v8, #+0 (0x00000000 | 0.00000) 804 .line 69 805 .local v8, "consume", java.lang.invoke.MethodHandle 806 17| const/4 v9, #+0 (0x00000000 | 0.00000) 807 .line 70 808 .local v9, "autofuzzFunction1", java.lang.invoke.MethodHandle 809 18| const/4 v10, #+0 (0x00000000 | 0.00000) 810 .line 71 811 .local v10, "autofuzzFunction2", java.lang.invoke.MethodHandle 812 19| const/4 v11, #+0 (0x00000000 | 0.00000) 813 .line 72 814 .local v11, "autofuzzFunction3", java.lang.invoke.MethodHandle 815 20| const/4 v12, #+0 (0x00000000 | 0.00000) 816 .line 73 817 .local v12, "autofuzzFunction4", java.lang.invoke.MethodHandle 818 21| const/4 v13, #+0 (0x00000000 | 0.00000) 819 .line 74 820 .local v13, "autofuzzFunction5", java.lang.invoke.MethodHandle 821 22| const/4 v14, #+0 (0x00000000 | 0.00000) 822 .line 75 823 .local v14, "autofuzzConsumer1", java.lang.invoke.MethodHandle 824 23| const/4 v15, #+0 (0x00000000 | 0.00000) 825 .line 76 826 .local v15, "autofuzzConsumer2", java.lang.invoke.MethodHandle 827 24| const/16 v16, #+0 (0x00000000 | 0.00000) 828 .line 77 829 .local v16, "autofuzzConsumer3", java.lang.invoke.MethodHandle 830 26| const/16 v17, #+0 (0x00000000 | 0.00000) 831 .line 78 832 .local v17, "autofuzzConsumer4", java.lang.invoke.MethodHandle 833 28| const/16 v18, #+0 (0x00000000 | 0.00000) 834 .line 80 835 .local v18, "autofuzzConsumer5", java.lang.invoke.MethodHandle 836 30| move-object/from16 v19, v2 837 .try_begin_1 838 .end_local v2 839 .local_ex v19, "jazzerInternal", java.lang.Class, "Ljava/lang/Class<*>;" 840 32| const-string v20, "com.code_intelligence.jazzer.runtime.JazzerInternal" 841 34| invoke-static/range {v20..v20}, java.lang.Class.forName(java.lang.String):java.lang.Class 842 37| move-result-object v20 843 .try_end_1 844 catch(java.lang.ClassNotFoundException) : Label_25 845 catch(java.lang.NoSuchMethodException) : Label_23 846 catch(java.lang.IllegalAccessException) : Label_23 847 38| move-object/from16 v19, v20 848 .try_begin_2 849 .line 81 850 40| sget-object v2, java.lang.Void.TYPE 851 .try_end_2 852 catch(java.lang.ClassNotFoundException) : Label_22 853 catch(java.lang.NoSuchMethodException) : Label_21 854 catch(java.lang.IllegalAccessException) : Label_21 855 42| move-object/from16 v21, v3 856 .try_begin_3 857 .end_local v3 858 .local v21, "onFuzzTargetReady", java.lang.invoke.MethodHandle 859 44| const-class v3, java.lang.Runnable 860 46| invoke-static {v2,v3}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class):java.lang.invoke.MethodType 861 49| move-result-object v2 862 .line 82 863 .local v2, "onFuzzTargetReadyType", java.lang.invoke.MethodType 864 50| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 865 53| move-result-object v3 866 .try_end_3 867 catch(java.lang.ClassNotFoundException) : Label_20 868 catch(java.lang.NoSuchMethodException) : Label_19 869 catch(java.lang.IllegalAccessException) : Label_19 870 54| move-object/from16 v22, v4 871 .try_begin_4 872 .end_local v4 873 .local v22, "traceStrcmp", java.lang.invoke.MethodHandle 874 56| const-string v4, "registerOnFuzzTargetReadyCallback" 875 .try_end_4 876 catch(java.lang.ClassNotFoundException) : Label_18 877 catch(java.lang.NoSuchMethodException) : Label_17 878 catch(java.lang.IllegalAccessException) : Label_17 879 58| move-object/from16 v23, v5 880 60| move-object/from16 v5, v19 881 .try_begin_5 882 .end_local v19 883 .local_ex v5, "jazzerInternal", java.lang.Class, "Ljava/lang/Class<*>;" 884 .local v23, "traceStrstr", java.lang.invoke.MethodHandle 885 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 886 65| move-result-object v3 887 .try_end_5 888 catch(java.lang.ClassNotFoundException) : Label_16 889 catch(java.lang.NoSuchMethodException) : Label_15 890 catch(java.lang.IllegalAccessException) : Label_15 891 .try_begin_6 892 .line 84 893 .end_local v21 894 .restart_local v3 895 66| const-string v4, "com.code_intelligence.jazzer.runtime.TraceDataFlowNativeCallbacks" 896 .line 85 897 68| invoke-static {v4}, java.lang.Class.forName(java.lang.String):java.lang.Class 898 71| move-result-object v4 899 .line 88 900 .local_ex v4, "traceDataFlowNativeCallbacks", java.lang.Class, "Ljava/lang/Class<*>;" 901 72| move-object/from16 v19, v2 902 .end_local v2 903 .local v19, "onFuzzTargetReadyType", java.lang.invoke.MethodType 904 74| sget-object v2, java.lang.Void.TYPE 905 .try_end_6 906 catch(java.lang.ClassNotFoundException) : Label_14 907 catch(java.lang.NoSuchMethodException) : Label_13 908 catch(java.lang.IllegalAccessException) : Label_13 909 76| move-object/from16 v21, v3 910 .try_begin_7 911 .end_local v3 912 .restart_local v21 913 78| const-class v3, java.lang.String 914 .try_end_7 915 catch(java.lang.ClassNotFoundException) : Label_16 916 catch(java.lang.NoSuchMethodException) : Label_15 917 catch(java.lang.IllegalAccessException) : Label_15 918 80| move-object/from16 v24, v5 919 .end_local v5 920 .local_ex v24, "jazzerInternal", java.lang.Class, "Ljava/lang/Class<*>;" 921 82| const/4 v5, #+3 (0x00000003 | 4.20390e-45) 922 83| move-object/from16 v25, v6 923 .try_begin_8 924 .end_local v6 925 .local v25, "traceMemcmp", java.lang.invoke.MethodHandle 926 85| new-array v6, v5, java.lang.Class[] 927 87| const-class v26, java.lang.String 928 89| const/16 v27, #+0 (0x00000000 | 0.00000) 929 91| aput-object v26, v6, v27 930 93| sget-object v26, java.lang.Integer.TYPE 931 95| const/16 v20, #+1 (0x00000001 | 1.40130e-45) 932 97| aput-object v26, v6, v20 933 99| sget-object v26, java.lang.Integer.TYPE 934 101| const/4 v5, #+2 (0x00000002 | 2.80260e-45) 935 102| aput-object v26, v6, v5 936 .line 89 937 104| invoke-static {v2,v3,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 938 107| move-result-object v2 939 .line 90 940 .local v2, "traceStrcmpType", java.lang.invoke.MethodType 941 108| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 942 111| move-result-object v3 943 112| const-string v6, "traceStrcmp" 944 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 945 117| move-result-object v3 946 .try_end_8 947 catch(java.lang.ClassNotFoundException) : Label_12 948 catch(java.lang.NoSuchMethodException) : Label_11 949 catch(java.lang.IllegalAccessException) : Label_11 950 .try_begin_9 951 .line 92 952 .end_local v22 953 .local v3, "traceStrcmp", java.lang.invoke.MethodHandle 954 118| sget-object v6, java.lang.Void.TYPE 955 120| const-class v5, java.lang.String 956 .try_end_9 957 catch(java.lang.ClassNotFoundException) : Label_10 958 catch(java.lang.NoSuchMethodException) : Label_9 959 catch(java.lang.IllegalAccessException) : Label_9 960 122| move-object/from16 v29, v2 961 124| move-object/from16 v22, v3 962 126| const/4 v2, #+2 (0x00000002 | 2.80260e-45) 963 .try_begin_10 964 .end_local v2 965 .end_local v3 966 .restart_local v22 967 .local v29, "traceStrcmpType", java.lang.invoke.MethodType 968 127| new-array v3, v2, java.lang.Class[] 969 129| const-class v2, java.lang.String 970 131| aput-object v2, v3, v27 971 133| sget-object v2, java.lang.Integer.TYPE 972 135| const/16 v20, #+1 (0x00000001 | 1.40130e-45) 973 137| aput-object v2, v3, v20 974 .line 93 975 139| invoke-static {v6,v5,v3}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 976 142| move-result-object v2 977 .line 94 978 .local v2, "traceStrstrType", java.lang.invoke.MethodType 979 143| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 980 146| move-result-object v3 981 147| const-string v5, "traceStrstr" 982 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 983 152| move-result-object v3 984 .try_end_10 985 catch(java.lang.ClassNotFoundException) : Label_12 986 catch(java.lang.NoSuchMethodException) : Label_11 987 catch(java.lang.IllegalAccessException) : Label_11 988 153| move-object v5, v3 989 .try_begin_11 990 .line 96 991 .end_local v23 992 .local v5, "traceStrstr", java.lang.invoke.MethodHandle 993 154| sget-object v3, java.lang.Void.TYPE 994 156| const/4 v6, #+3 (0x00000003 | 4.20390e-45) 995 157| new-array v6, v6, java.lang.Class[] 996 159| aput-object v0, v6, v27 997 161| sget-object v23, java.lang.Integer.TYPE 998 163| const/16 v20, #+1 (0x00000001 | 1.40130e-45) 999 165| aput-object v23, v6, v20 1000 167| sget-object v23, java.lang.Integer.TYPE 1001 169| const/16 v26, #+2 (0x00000002 | 2.80260e-45) 1002 171| aput-object v23, v6, v26 1003 .line 97 1004 173| invoke-static {v3,v0,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1005 176| move-result-object v0 1006 .line 98 1007 .local v0, "traceMemcmpType", java.lang.invoke.MethodType 1008 177| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1009 180| move-result-object v3 1010 181| const-string v6, "traceMemcmp" 1011 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 1012 186| move-result-object v3 1013 .try_end_11 1014 catch(java.lang.ClassNotFoundException) : Label_8 1015 catch(java.lang.NoSuchMethodException) : Label_7 1016 catch(java.lang.IllegalAccessException) : Label_7 1017 187| move-object v6, v3 1018 .try_begin_12 1019 .line 100 1020 .end_local v25 1021 .restart_local v6 1022 188| sget-object v3, java.lang.Void.TYPE 1023 190| move-object/from16 v23, v0 1024 .end_local v0 1025 .local v23, "traceMemcmpType", java.lang.invoke.MethodType 1026 192| sget-object v0, java.lang.Integer.TYPE 1027 .try_end_12 1028 catch(java.lang.ClassNotFoundException) : Label_6 1029 catch(java.lang.NoSuchMethodException) : Label_5 1030 catch(java.lang.IllegalAccessException) : Label_5 1031 194| move-object/from16 v26, v2 1032 196| move-object/from16 v28, v5 1033 198| const/4 v2, #+1 (0x00000001 | 1.40130e-45) 1034 .try_begin_13 1035 .end_local v2 1036 .end_local v5 1037 .local v26, "traceStrstrType", java.lang.invoke.MethodType 1038 .local v28, "traceStrstr", java.lang.invoke.MethodHandle 1039 199| new-array v5, v2, java.lang.Class[] 1040 201| sget-object v2, java.lang.Integer.TYPE 1041 203| aput-object v2, v5, v27 1042 205| invoke-static {v3,v0,v5}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1043 208| move-result-object v0 1044 .line 101 1045 .local v0, "tracePcIndirType", java.lang.invoke.MethodType 1046 209| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1047 212| move-result-object v2 1048 213| const-string v3, "tracePcIndir" 1049 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 1050 218| move-result-object v2 1051 219| move-object v7, v2 1052 .line 104 1053 220| const-string v2, "com.code_intelligence.jazzer.autofuzz.Meta" 1054 222| invoke-static {v2}, java.lang.Class.forName(java.lang.String):java.lang.Class 1055 225| move-result-object v2 1056 .line 105 1057 .local_ex v2, "metaClass", java.lang.Class, "Ljava/lang/Class<*>;" 1058 226| const-class v3, java.lang.Object 1059 228| const-class v5, com.code_intelligence.jazzer.api.FuzzedDataProvider 1060 230| move-object/from16 v25, v0 1061 232| move-object/from16 v30, v4 1062 234| const/4 v4, #+1 (0x00000001 | 1.40130e-45) 1063 .end_local v0 1064 .end_local v4 1065 .local v25, "tracePcIndirType", java.lang.invoke.MethodType 1066 .local_ex v30, "traceDataFlowNativeCallbacks", java.lang.Class, "Ljava/lang/Class<*>;" 1067 235| new-array v0, v4, java.lang.Class[] 1068 237| const-class v4, java.lang.Class 1069 239| aput-object v4, v0, v27 1070 .line 106 1071 241| invoke-static {v3,v5,v0}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1072 244| move-result-object v0 1073 .line 107 1074 .local v0, "consumeType", java.lang.invoke.MethodType 1075 245| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1076 248| move-result-object v3 1077 249| const-string v4, "consume" 1078 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 1079 254| move-result-object v3 1080 255| move-object v8, v3 1081 .line 109 1082 256| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1083 259| move-result-object v3 1084 260| const-class v4, java.lang.Object 1085 262| const-class v5, com.code_intelligence.jazzer.api.FuzzedDataProvider 1086 .try_end_13 1087 catch(java.lang.ClassNotFoundException) : Label_4 1088 catch(java.lang.NoSuchMethodException) : Label_3 1089 catch(java.lang.IllegalAccessException) : Label_3 1090 264| move-object/from16 v32, v0 1091 266| move-object/from16 v31, v6 1092 268| const/4 v6, #+1 (0x00000001 | 1.40130e-45) 1093 .try_begin_14 1094 .end_local v0 1095 .end_local v6 1096 .local v31, "traceMemcmp", java.lang.invoke.MethodHandle 1097 .local v32, "consumeType", java.lang.invoke.MethodType 1098 269| new-array v0, v6, java.lang.Class[] 1099 271| const-class v6, com.code_intelligence.jazzer.api.Function1 1100 273| aput-object v6, v0, v27 1101 .line 110 1102 275| invoke-static {v4,v5,v0}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1103 278| move-result-object v0 1104 .line 109 1105 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 1106 282| move-result-object v0 1107 283| move-object v9, v0 1108 .line 111 1109 284| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1110 287| move-result-object v0 1111 288| const-class v3, java.lang.Object 1112 290| const-class v4, com.code_intelligence.jazzer.api.FuzzedDataProvider 1113 292| const/4 v5, #+1 (0x00000001 | 1.40130e-45) 1114 293| new-array v6, v5, java.lang.Class[] 1115 295| const-class v5, com.code_intelligence.jazzer.api.Function2 1116 297| aput-object v5, v6, v27 1117 .line 112 1118 299| invoke-static {v3,v4,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1119 302| move-result-object v3 1120 .line 111 1121 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 1122 306| move-result-object v0 1123 307| move-object v10, v0 1124 .line 113 1125 308| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1126 311| move-result-object v0 1127 312| const-class v3, java.lang.Object 1128 314| const-class v4, com.code_intelligence.jazzer.api.FuzzedDataProvider 1129 316| const/4 v5, #+1 (0x00000001 | 1.40130e-45) 1130 317| new-array v6, v5, java.lang.Class[] 1131 319| const-class v5, com.code_intelligence.jazzer.api.Function3 1132 321| aput-object v5, v6, v27 1133 .line 114 1134 323| invoke-static {v3,v4,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1135 326| move-result-object v3 1136 .line 113 1137 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 1138 330| move-result-object v0 1139 331| move-object v11, v0 1140 .line 115 1141 332| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1142 335| move-result-object v0 1143 336| const-class v3, java.lang.Object 1144 338| const-class v4, com.code_intelligence.jazzer.api.FuzzedDataProvider 1145 340| const/4 v5, #+1 (0x00000001 | 1.40130e-45) 1146 341| new-array v6, v5, java.lang.Class[] 1147 343| const-class v5, com.code_intelligence.jazzer.api.Function4 1148 345| aput-object v5, v6, v27 1149 .line 116 1150 347| invoke-static {v3,v4,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1151 350| move-result-object v3 1152 .line 115 1153 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 1154 354| move-result-object v0 1155 355| move-object v12, v0 1156 .line 117 1157 356| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1158 359| move-result-object v0 1159 360| const-class v3, java.lang.Object 1160 362| const-class v4, com.code_intelligence.jazzer.api.FuzzedDataProvider 1161 364| const/4 v5, #+1 (0x00000001 | 1.40130e-45) 1162 365| new-array v6, v5, java.lang.Class[] 1163 367| const-class v5, com.code_intelligence.jazzer.api.Function5 1164 369| aput-object v5, v6, v27 1165 .line 118 1166 371| invoke-static {v3,v4,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1167 374| move-result-object v3 1168 .line 117 1169 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 1170 378| move-result-object v0 1171 379| move-object v13, v0 1172 .line 119 1173 380| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1174 383| move-result-object v0 1175 384| sget-object v3, java.lang.Void.TYPE 1176 386| const-class v4, com.code_intelligence.jazzer.api.FuzzedDataProvider 1177 388| const/4 v5, #+1 (0x00000001 | 1.40130e-45) 1178 389| new-array v6, v5, java.lang.Class[] 1179 391| const-class v5, com.code_intelligence.jazzer.api.Consumer1 1180 393| aput-object v5, v6, v27 1181 .line 120 1182 395| invoke-static {v3,v4,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1183 398| move-result-object v3 1184 .line 119 1185 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 1186 402| move-result-object v0 1187 403| move-object v14, v0 1188 .line 121 1189 404| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1190 407| move-result-object v0 1191 408| sget-object v3, java.lang.Void.TYPE 1192 410| const-class v4, com.code_intelligence.jazzer.api.FuzzedDataProvider 1193 412| const/4 v5, #+1 (0x00000001 | 1.40130e-45) 1194 413| new-array v6, v5, java.lang.Class[] 1195 415| const-class v5, com.code_intelligence.jazzer.api.Consumer2 1196 417| aput-object v5, v6, v27 1197 .line 122 1198 419| invoke-static {v3,v4,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1199 422| move-result-object v3 1200 .line 121 1201 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 1202 426| move-result-object v0 1203 427| move-object v15, v0 1204 .line 123 1205 428| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1206 431| move-result-object v0 1207 432| sget-object v3, java.lang.Void.TYPE 1208 434| const-class v4, com.code_intelligence.jazzer.api.FuzzedDataProvider 1209 436| const/4 v5, #+1 (0x00000001 | 1.40130e-45) 1210 437| new-array v6, v5, java.lang.Class[] 1211 439| const-class v5, com.code_intelligence.jazzer.api.Consumer3 1212 441| aput-object v5, v6, v27 1213 .line 124 1214 443| invoke-static {v3,v4,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1215 446| move-result-object v3 1216 .line 123 1217 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 1218 450| move-result-object v0 1219 451| move-object/from16 v16, v0 1220 .line 125 1221 453| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1222 456| move-result-object v0 1223 457| sget-object v3, java.lang.Void.TYPE 1224 459| const-class v4, com.code_intelligence.jazzer.api.FuzzedDataProvider 1225 461| const/4 v5, #+1 (0x00000001 | 1.40130e-45) 1226 462| new-array v6, v5, java.lang.Class[] 1227 464| const-class v5, com.code_intelligence.jazzer.api.Consumer4 1228 466| aput-object v5, v6, v27 1229 .line 126 1230 468| invoke-static {v3,v4,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1231 471| move-result-object v3 1232 .line 125 1233 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 1234 475| move-result-object v0 1235 476| move-object/from16 v17, v0 1236 .line 127 1237 478| invoke-static {}, java.lang.invoke.MethodHandles.publicLookup():java.lang.invoke.MethodHandles$Lookup 1238 481| move-result-object v0 1239 482| sget-object v3, java.lang.Void.TYPE 1240 484| const-class v4, com.code_intelligence.jazzer.api.FuzzedDataProvider 1241 486| const/4 v5, #+1 (0x00000001 | 1.40130e-45) 1242 487| new-array v6, v5, java.lang.Class[] 1243 489| const-class v5, com.code_intelligence.jazzer.api.Consumer5 1244 491| aput-object v5, v6, v27 1245 .line 128 1246 493| invoke-static {v3,v4,v6}, java.lang.invoke.MethodType.methodType(java.lang.Class, java.lang.Class, java.lang.Class[]):java.lang.invoke.MethodType 1247 496| move-result-object v3 1248 .line 127 1249 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 1250 500| move-result-object v0 1251 .try_end_14 1252 catch(java.lang.ClassNotFoundException) : Label_2 1253 catch(java.lang.NoSuchMethodException) : Label_1 1254 catch(java.lang.IllegalAccessException) : Label_1 1255 501| move-object/from16 v18, v0 1256 .line 138 1257 .end_local v2 1258 .end_local v19 1259 .end_local v23 1260 .end_local v25 1261 .end_local v26 1262 .end_local v29 1263 .end_local v30 1264 .end_local v32 1265 503| move-object/from16 v3, v21 1266 505| move-object/from16 v4, v22 1267 507| move-object/from16 v19, v24 1268 509| move-object/from16 v5, v28 1269 511| move-object/from16 v6, v31 1270 513| goto/16 Label_27 1271Label_1: 1272 .line 132 1273 515| move-exception v0 1274 516| move-object/from16 v3, v21 1275 518| move-object/from16 v4, v22 1276 520| move-object/from16 v2, v24 1277 522| move-object/from16 v5, v28 1278 524| move-object/from16 v6, v31 1279 526| goto/16 Label_24 1280Label_2: 1281 .line 129 1282 528| move-exception v0 1283 529| move-object/from16 v3, v21 1284 531| move-object/from16 v4, v22 1285 533| move-object/from16 v2, v24 1286 535| move-object/from16 v5, v28 1287 537| move-object/from16 v6, v31 1288 539| goto/16 Label_26 1289Label_3: 1290 .line 132 1291 .end_local v31 1292 .restart_local v6 1293 541| move-exception v0 1294 542| move-object/from16 v31, v6 1295 544| move-object/from16 v3, v21 1296 546| move-object/from16 v4, v22 1297 548| move-object/from16 v2, v24 1298 550| move-object/from16 v5, v28 1299 .end_local v6 1300 .restart_local v31 1301 552| goto/16 Label_24 1302Label_4: 1303 .line 129 1304 .end_local v31 1305 .restart_local v6 1306 554| move-exception v0 1307 555| move-object/from16 v31, v6 1308 557| move-object/from16 v3, v21 1309 559| move-object/from16 v4, v22 1310 561| move-object/from16 v2, v24 1311 563| move-object/from16 v5, v28 1312 .end_local v6 1313 .restart_local v31 1314 565| goto/16 Label_26 1315Label_5: 1316 .line 132 1317 .end_local v28 1318 .end_local v31 1319 .restart_local v5 1320 .restart_local v6 1321 567| move-exception v0 1322 568| move-object/from16 v28, v5 1323 570| move-object/from16 v31, v6 1324 572| move-object/from16 v3, v21 1325 574| move-object/from16 v4, v22 1326 576| move-object/from16 v2, v24 1327 .end_local v5 1328 .end_local v6 1329 .restart_local v28 1330 .restart_local v31 1331 578| goto/16 Label_24 1332Label_6: 1333 .line 129 1334 .end_local v28 1335 .end_local v31 1336 .restart_local v5 1337 .restart_local v6 1338 580| move-exception v0 1339 581| move-object/from16 v28, v5 1340 583| move-object/from16 v31, v6 1341 585| move-object/from16 v3, v21 1342 587| move-object/from16 v4, v22 1343 589| move-object/from16 v2, v24 1344 .end_local v5 1345 .end_local v6 1346 .restart_local v28 1347 .restart_local v31 1348 591| goto/16 Label_26 1349Label_7: 1350 .line 132 1351 .end_local v28 1352 .end_local v31 1353 .restart_local v5 1354 .local v25, "traceMemcmp", java.lang.invoke.MethodHandle 1355 593| move-exception v0 1356 594| move-object/from16 v28, v5 1357 596| move-object/from16 v3, v21 1358 598| move-object/from16 v4, v22 1359 600| move-object/from16 v2, v24 1360 602| move-object/from16 v6, v25 1361 .end_local v5 1362 .restart_local v28 1363 604| goto/16 Label_24 1364Label_8: 1365 .line 129 1366 .end_local v28 1367 .restart_local v5 1368 606| move-exception v0 1369 607| move-object/from16 v28, v5 1370 609| move-object/from16 v3, v21 1371 611| move-object/from16 v4, v22 1372 613| move-object/from16 v2, v24 1373 615| move-object/from16 v6, v25 1374 .end_local v5 1375 .restart_local v28 1376 617| goto/16 Label_26 1377Label_9: 1378 .line 132 1379 .end_local v22 1380 .end_local v28 1381 .restart_local v3 1382 .local v23, "traceStrstr", java.lang.invoke.MethodHandle 1383 619| move-exception v0 1384 620| move-object/from16 v22, v3 1385 622| move-object/from16 v3, v21 1386 624| move-object/from16 v4, v22 1387 626| move-object/from16 v5, v23 1388 628| move-object/from16 v2, v24 1389 630| move-object/from16 v6, v25 1390 .end_local v3 1391 .restart_local v22 1392 632| goto/16 Label_24 1393Label_10: 1394 .line 129 1395 .end_local v22 1396 .restart_local v3 1397 634| move-exception v0 1398 635| move-object/from16 v22, v3 1399 637| move-object/from16 v3, v21 1400 639| move-object/from16 v4, v22 1401 641| move-object/from16 v5, v23 1402 643| move-object/from16 v2, v24 1403 645| move-object/from16 v6, v25 1404 .end_local v3 1405 .restart_local v22 1406 647| goto/16 Label_26 1407Label_11: 1408 .line 132 1409 649| move-exception v0 1410 650| move-object/from16 v3, v21 1411 652| move-object/from16 v4, v22 1412 654| move-object/from16 v5, v23 1413 656| move-object/from16 v2, v24 1414 658| move-object/from16 v6, v25 1415 660| goto/16 Label_24 1416Label_12: 1417 .line 129 1418 662| move-exception v0 1419 663| move-object/from16 v3, v21 1420 665| move-object/from16 v4, v22 1421 667| move-object/from16 v5, v23 1422 669| move-object/from16 v2, v24 1423 671| move-object/from16 v6, v25 1424 673| goto/16 Label_26 1425Label_13: 1426 .line 132 1427 .end_local v21 1428 .end_local v24 1429 .end_local v25 1430 .local v3, "onFuzzTargetReady", java.lang.invoke.MethodHandle 1431 .local_ex v5, "jazzerInternal", java.lang.Class, "Ljava/lang/Class<*>;" 1432 .restart_local v6 1433 675| move-exception v0 1434 676| move-object/from16 v21, v3 1435 678| move-object/from16 v24, v5 1436 680| move-object/from16 v25, v6 1437 682| move-object/from16 v4, v22 1438 684| move-object/from16 v5, v23 1439 686| move-object/from16 v2, v24 1440 .end_local v3 1441 .end_local v5 1442 .end_local v6 1443 .restart_local v21 1444 .restart_local v24 1445 .restart_local v25 1446 688| goto/16 Label_24 1447Label_14: 1448 .line 129 1449 .end_local v21 1450 .end_local v24 1451 .end_local v25 1452 .restart_local v3 1453 .restart_local v5 1454 .restart_local v6 1455 690| move-exception v0 1456 691| move-object/from16 v21, v3 1457 693| move-object/from16 v24, v5 1458 695| move-object/from16 v25, v6 1459 697| move-object/from16 v4, v22 1460 699| move-object/from16 v5, v23 1461 701| move-object/from16 v2, v24 1462 .end_local v3 1463 .end_local v5 1464 .end_local v6 1465 .restart_local v21 1466 .restart_local v24 1467 .restart_local v25 1468 703| goto/16 Label_26 1469Label_15: 1470 .line 132 1471 .end_local v24 1472 .end_local v25 1473 .restart_local v5 1474 .restart_local v6 1475 705| move-exception v0 1476 706| move-object/from16 v24, v5 1477 708| move-object/from16 v25, v6 1478 710| move-object/from16 v3, v21 1479 712| move-object/from16 v4, v22 1480 714| move-object/from16 v5, v23 1481 716| move-object/from16 v2, v24 1482 .end_local v5 1483 .end_local v6 1484 .restart_local v24 1485 .restart_local v25 1486 718| goto/16 Label_24 1487Label_16: 1488 .line 129 1489 .end_local v24 1490 .end_local v25 1491 .restart_local v5 1492 .restart_local v6 1493 720| move-exception v0 1494 721| move-object/from16 v24, v5 1495 723| move-object/from16 v25, v6 1496 725| move-object/from16 v3, v21 1497 727| move-object/from16 v4, v22 1498 729| move-object/from16 v5, v23 1499 731| move-object/from16 v2, v24 1500 .end_local v5 1501 .end_local v6 1502 .restart_local v24 1503 .restart_local v25 1504 733| goto/16 Label_26 1505Label_17: 1506 .line 132 1507 .end_local v23 1508 .end_local v24 1509 .end_local v25 1510 .local v5, "traceStrstr", java.lang.invoke.MethodHandle 1511 .restart_local v6 1512 .local_ex v19, "jazzerInternal", java.lang.Class, "Ljava/lang/Class<*>;" 1513 735| move-exception v0 1514 736| move-object/from16 v23, v5 1515 738| move-object/from16 v25, v6 1516 740| move-object/from16 v24, v19 1517 742| move-object/from16 v3, v21 1518 744| move-object/from16 v4, v22 1519 746| move-object/from16 v2, v24 1520 .end_local v5 1521 .end_local v6 1522 .end_local v19 1523 .restart_local v23 1524 .restart_local v24 1525 .restart_local v25 1526 748| goto/16 Label_24 1527Label_18: 1528 .line 129 1529 .end_local v23 1530 .end_local v24 1531 .end_local v25 1532 .restart_local v5 1533 .restart_local v6 1534 .restart_local v19 1535 750| move-exception v0 1536 751| move-object/from16 v23, v5 1537 753| move-object/from16 v25, v6 1538 755| move-object/from16 v24, v19 1539 757| move-object/from16 v3, v21 1540 759| move-object/from16 v4, v22 1541 761| move-object/from16 v2, v24 1542 .end_local v5 1543 .end_local v6 1544 .end_local v19 1545 .restart_local v23 1546 .restart_local v24 1547 .restart_local v25 1548 763| goto/16 Label_26 1549Label_19: 1550 .line 132 1551 .end_local v22 1552 .end_local v23 1553 .end_local v24 1554 .end_local v25 1555 .local v4, "traceStrcmp", java.lang.invoke.MethodHandle 1556 .restart_local v5 1557 .restart_local v6 1558 .restart_local v19 1559 765| move-exception v0 1560 766| move-object/from16 v22, v4 1561 768| move-object/from16 v23, v5 1562 770| move-object/from16 v25, v6 1563 772| move-object/from16 v24, v19 1564 774| move-object/from16 v3, v21 1565 776| move-object/from16 v2, v24 1566 .end_local v4 1567 .end_local v5 1568 .end_local v6 1569 .end_local v19 1570 .restart_local v22 1571 .restart_local v23 1572 .restart_local v24 1573 .restart_local v25 1574 778| goto Label_24 1575Label_20: 1576 .line 129 1577 .end_local v22 1578 .end_local v23 1579 .end_local v24 1580 .end_local v25 1581 .restart_local v4 1582 .restart_local v5 1583 .restart_local v6 1584 .restart_local v19 1585 779| move-exception v0 1586 780| move-object/from16 v22, v4 1587 782| move-object/from16 v23, v5 1588 784| move-object/from16 v25, v6 1589 786| move-object/from16 v24, v19 1590 788| move-object/from16 v3, v21 1591 790| move-object/from16 v2, v24 1592 .end_local v4 1593 .end_local v5 1594 .end_local v6 1595 .end_local v19 1596 .restart_local v22 1597 .restart_local v23 1598 .restart_local v24 1599 .restart_local v25 1600 792| goto Label_26 1601Label_21: 1602 .line 132 1603 .end_local v21 1604 .end_local v22 1605 .end_local v23 1606 .end_local v24 1607 .end_local v25 1608 .restart_local v3 1609 .restart_local v4 1610 .restart_local v5 1611 .restart_local v6 1612 .restart_local v19 1613 793| move-exception v0 1614 794| move-object/from16 v21, v3 1615 796| move-object/from16 v22, v4 1616 798| move-object/from16 v23, v5 1617 800| move-object/from16 v25, v6 1618 802| move-object/from16 v24, v19 1619 804| move-object/from16 v2, v24 1620 .end_local v3 1621 .end_local v4 1622 .end_local v5 1623 .end_local v6 1624 .end_local v19 1625 .restart_local v21 1626 .restart_local v22 1627 .restart_local v23 1628 .restart_local v24 1629 .restart_local v25 1630 806| goto Label_24 1631Label_22: 1632 .line 129 1633 .end_local v21 1634 .end_local v22 1635 .end_local v23 1636 .end_local v24 1637 .end_local v25 1638 .restart_local v3 1639 .restart_local v4 1640 .restart_local v5 1641 .restart_local v6 1642 .restart_local v19 1643 807| move-exception v0 1644 808| move-object/from16 v21, v3 1645 810| move-object/from16 v22, v4 1646 812| move-object/from16 v23, v5 1647 814| move-object/from16 v25, v6 1648 816| move-object/from16 v24, v19 1649 818| move-object/from16 v2, v24 1650 .end_local v3 1651 .end_local v4 1652 .end_local v5 1653 .end_local v6 1654 .end_local v19 1655 .restart_local v21 1656 .restart_local v22 1657 .restart_local v23 1658 .restart_local v24 1659 .restart_local v25 1660 820| goto Label_26 1661Label_23: 1662 .line 132 1663 .end_local v21 1664 .end_local v22 1665 .end_local v23 1666 .end_local v24 1667 .end_local v25 1668 .restart_local v3 1669 .restart_local v4 1670 .restart_local v5 1671 .restart_local v6 1672 .restart_local v19 1673 821| move-exception v0 1674 822| move-object/from16 v21, v3 1675 824| move-object/from16 v22, v4 1676 826| move-object/from16 v23, v5 1677 828| move-object/from16 v25, v6 1678 830| move-object/from16 v2, v19 1679Label_24: 1680 .line 135 1681 .end_local v19 1682 .local v0, "e", java.lang.ReflectiveOperationException 1683 .local_ex v2, "jazzerInternal", java.lang.Class, "Ljava/lang/Class<*>;" 1684 832| sget-object v1, java.lang.System.err 1685 834| move-object/from16 v19, v2 1686 .end_local v2 1687 .restart_local v19 1688 836| const-string v2, "ERROR: Incompatible version of the Jazzer API detected, please update." 1689 838| invoke-virtual {v1,v2}, java.io.PrintStream.println(java.lang.String):void 1690 .line 136 1691 841| invoke-virtual {v0}, java.lang.ReflectiveOperationException.printStackTrace():void 1692 .line 137 1693 844| const/4 v1, #+1 (0x00000001 | 1.40130e-45) 1694 845| invoke-static {v1}, java.lang.System.exit(int):void 1695 848| goto Label_27 1696Label_25: 1697 .line 129 1698 .end_local v0 1699 849| move-exception v0 1700 850| move-object/from16 v21, v3 1701 852| move-object/from16 v22, v4 1702 854| move-object/from16 v23, v5 1703 856| move-object/from16 v25, v6 1704 858| move-object/from16 v2, v19 1705Label_26: 1706 .line 138 1707 .end_local v19 1708 .restart_local v2 1709 860| move-object/from16 v19, v2 1710Label_27: 1711 .line 139 1712 .end_local v2 1713 .restart_local v19 1714 862| sput-object v19, com.code_intelligence.jazzer.api.Jazzer.JAZZER_INTERNAL 1715 .line 140 1716 864| sput-object v3, com.code_intelligence.jazzer.api.Jazzer.ON_FUZZ_TARGET_READY 1717 .line 141 1718 866| sput-object v4, com.code_intelligence.jazzer.api.Jazzer.TRACE_STRCMP 1719 .line 142 1720 868| sput-object v5, com.code_intelligence.jazzer.api.Jazzer.TRACE_STRSTR 1721 .line 143 1722 870| sput-object v6, com.code_intelligence.jazzer.api.Jazzer.TRACE_MEMCMP 1723 .line 144 1724 872| sput-object v7, com.code_intelligence.jazzer.api.Jazzer.TRACE_PC_INDIR 1725 .line 145 1726 874| sput-object v8, com.code_intelligence.jazzer.api.Jazzer.CONSUME 1727 .line 146 1728 876| sput-object v9, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_FUNCTION_1 1729 .line 147 1730 878| sput-object v10, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_FUNCTION_2 1731 .line 148 1732 880| sput-object v11, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_FUNCTION_3 1733 .line 149 1734 882| sput-object v12, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_FUNCTION_4 1735 .line 150 1736 884| sput-object v13, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_FUNCTION_5 1737 .line 151 1738 886| sput-object v14, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_CONSUMER_1 1739 .line 152 1740 888| sput-object v15, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_CONSUMER_2 1741 .line 153 1742 890| sput-object v16, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_CONSUMER_3 1743 .line 154 1744 892| sput-object v17, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_CONSUMER_4 1745 .line 155 1746 894| sput-object v18, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_CONSUMER_5 1747 .line 156 1748 .end_local v3 1749 .end_local v4 1750 .end_local v5 1751 .end_local v6 1752 .end_local v7 1753 .end_local v8 1754 .end_local v9 1755 .end_local v10 1756 .end_local v11 1757 .end_local v12 1758 .end_local v13 1759 .end_local v14 1760 .end_local v15 1761 .end_local v16 1762 .end_local v17 1763 .end_local v18 1764 .end_local v19 1765 896| return-void 1766} 1767 1768method com.code_intelligence.jazzer.api.Jazzer.<init>():void 1769{ 1770 .src "Jazzer.java" 1771 .line 158 1772 .line 158 1773 0| invoke-direct {v0}, java.lang.Object.<init>():void 1774 3| return-void 1775} 1776 1777method com.code_intelligence.jazzer.api.Jazzer.autofuzz(com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Function1):java.lang.Object 1778{ 1779 .try_begin_1 1780 .params "data", "?" 1781 .src "Jazzer.java" 1782 .line 180 1783 .line 180 1784 .local_ex v3, "func", com.code_intelligence.jazzer.api.Function1, "Lcom/code_intelligence/jazzer/api/Function1<TT1;TR;>;" 1785 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_FUNCTION_1 1786 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 1787 6| move-result-object v0 1788 .try_end_1 1789 catch(com.code_intelligence.jazzer.api.AutofuzzInvocationException) : Label_2 1790 catch(...) : Label_1 1791 7| return-object v0 1792Label_1: 1793 .line 183 1794 8| move-exception v0 1795 .line 184 1796 .local v0, "t", java.lang.Throwable 1797 9| invoke-static {v0}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 1798 12| goto Label_3 1799Label_2: 1800 .line 181 1801 .end_local v0 1802 13| move-exception v0 1803 .line 182 1804 .local v0, "e", com.code_intelligence.jazzer.api.AutofuzzInvocationException 1805 14| invoke-virtual {v0}, com.code_intelligence.jazzer.api.AutofuzzInvocationException.getCause():java.lang.Throwable 1806 17| move-result-object v1 1807 18| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 1808 .line 185 1809 .end_local v0 1810 21| nop 1811Label_3: 1812 .line 187 1813 22| const/4 v0, #+0 (0x00000000 | 0.00000) 1814 23| return-object v0 1815} 1816 1817method com.code_intelligence.jazzer.api.Jazzer.autofuzz(com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Function2):java.lang.Object 1818{ 1819 .try_begin_1 1820 .params "data", "?" 1821 .src "Jazzer.java" 1822 .line 210 1823 .line 210 1824 .local_ex v3, "func", com.code_intelligence.jazzer.api.Function2, "Lcom/code_intelligence/jazzer/api/Function2<TT1;TT2;TR;>;" 1825 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_FUNCTION_2 1826 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 1827 6| move-result-object v0 1828 .try_end_1 1829 catch(com.code_intelligence.jazzer.api.AutofuzzInvocationException) : Label_2 1830 catch(...) : Label_1 1831 7| return-object v0 1832Label_1: 1833 .line 213 1834 8| move-exception v0 1835 .line 214 1836 .local v0, "t", java.lang.Throwable 1837 9| invoke-static {v0}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 1838 12| goto Label_3 1839Label_2: 1840 .line 211 1841 .end_local v0 1842 13| move-exception v0 1843 .line 212 1844 .local v0, "e", com.code_intelligence.jazzer.api.AutofuzzInvocationException 1845 14| invoke-virtual {v0}, com.code_intelligence.jazzer.api.AutofuzzInvocationException.getCause():java.lang.Throwable 1846 17| move-result-object v1 1847 18| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 1848 .line 215 1849 .end_local v0 1850 21| nop 1851Label_3: 1852 .line 217 1853 22| const/4 v0, #+0 (0x00000000 | 0.00000) 1854 23| return-object v0 1855} 1856 1857method com.code_intelligence.jazzer.api.Jazzer.autofuzz(com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Function3):java.lang.Object 1858{ 1859 .try_begin_1 1860 .params "data", "?" 1861 .src "Jazzer.java" 1862 .line 240 1863 .line 240 1864 .local_ex v3, "func", com.code_intelligence.jazzer.api.Function3, "Lcom/code_intelligence/jazzer/api/Function3<TT1;TT2;TT3;TR;>;" 1865 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_FUNCTION_3 1866 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 1867 6| move-result-object v0 1868 .try_end_1 1869 catch(com.code_intelligence.jazzer.api.AutofuzzInvocationException) : Label_2 1870 catch(...) : Label_1 1871 7| return-object v0 1872Label_1: 1873 .line 243 1874 8| move-exception v0 1875 .line 244 1876 .local v0, "t", java.lang.Throwable 1877 9| invoke-static {v0}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 1878 12| goto Label_3 1879Label_2: 1880 .line 241 1881 .end_local v0 1882 13| move-exception v0 1883 .line 242 1884 .local v0, "e", com.code_intelligence.jazzer.api.AutofuzzInvocationException 1885 14| invoke-virtual {v0}, com.code_intelligence.jazzer.api.AutofuzzInvocationException.getCause():java.lang.Throwable 1886 17| move-result-object v1 1887 18| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 1888 .line 245 1889 .end_local v0 1890 21| nop 1891Label_3: 1892 .line 247 1893 22| const/4 v0, #+0 (0x00000000 | 0.00000) 1894 23| return-object v0 1895} 1896 1897method com.code_intelligence.jazzer.api.Jazzer.autofuzz(com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Function4):java.lang.Object 1898{ 1899 .try_begin_1 1900 .params "data", "?" 1901 .src "Jazzer.java" 1902 .line 271 1903 .line 271 1904 .local_ex v3, "func", com.code_intelligence.jazzer.api.Function4, "Lcom/code_intelligence/jazzer/api/Function4<TT1;TT2;TT3;TT4;TR;>;" 1905 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_FUNCTION_4 1906 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 1907 6| move-result-object v0 1908 .try_end_1 1909 catch(com.code_intelligence.jazzer.api.AutofuzzInvocationException) : Label_2 1910 catch(...) : Label_1 1911 7| return-object v0 1912Label_1: 1913 .line 274 1914 8| move-exception v0 1915 .line 275 1916 .local v0, "t", java.lang.Throwable 1917 9| invoke-static {v0}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 1918 12| goto Label_3 1919Label_2: 1920 .line 272 1921 .end_local v0 1922 13| move-exception v0 1923 .line 273 1924 .local v0, "e", com.code_intelligence.jazzer.api.AutofuzzInvocationException 1925 14| invoke-virtual {v0}, com.code_intelligence.jazzer.api.AutofuzzInvocationException.getCause():java.lang.Throwable 1926 17| move-result-object v1 1927 18| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 1928 .line 276 1929 .end_local v0 1930 21| nop 1931Label_3: 1932 .line 278 1933 22| const/4 v0, #+0 (0x00000000 | 0.00000) 1934 23| return-object v0 1935} 1936 1937method com.code_intelligence.jazzer.api.Jazzer.autofuzz(com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Function5):java.lang.Object 1938{ 1939 .try_begin_1 1940 .params "data", "?" 1941 .src "Jazzer.java" 1942 .line 302 1943 .line 302 1944 .local_ex v3, "func", com.code_intelligence.jazzer.api.Function5, "Lcom/code_intelligence/jazzer/api/Function5<TT1;TT2;TT3;TT4;TT5;TR;>;" 1945 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_FUNCTION_5 1946 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 1947 6| move-result-object v0 1948 .try_end_1 1949 catch(com.code_intelligence.jazzer.api.AutofuzzInvocationException) : Label_2 1950 catch(...) : Label_1 1951 7| return-object v0 1952Label_1: 1953 .line 305 1954 8| move-exception v0 1955 .line 306 1956 .local v0, "t", java.lang.Throwable 1957 9| invoke-static {v0}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 1958 12| goto Label_3 1959Label_2: 1960 .line 303 1961 .end_local v0 1962 13| move-exception v0 1963 .line 304 1964 .local v0, "e", com.code_intelligence.jazzer.api.AutofuzzInvocationException 1965 14| invoke-virtual {v0}, com.code_intelligence.jazzer.api.AutofuzzInvocationException.getCause():java.lang.Throwable 1966 17| move-result-object v1 1967 18| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 1968 .line 307 1969 .end_local v0 1970 21| nop 1971Label_3: 1972 .line 309 1973 22| const/4 v0, #+0 (0x00000000 | 0.00000) 1974 23| return-object v0 1975} 1976 1977method com.code_intelligence.jazzer.api.Jazzer.autofuzz(com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Consumer1):void 1978{ 1979 .try_begin_1 1980 .params "data", "?" 1981 .src "Jazzer.java" 1982 .line 329 1983 .line 329 1984 .local_ex v3, "func", com.code_intelligence.jazzer.api.Consumer1, "Lcom/code_intelligence/jazzer/api/Consumer1<TT1;>;" 1985 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_CONSUMER_1 1986 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 1987 .try_end_1 1988 catch(com.code_intelligence.jazzer.api.AutofuzzInvocationException) : Label_2 1989 catch(...) : Label_1 1990 6| goto Label_3 1991Label_1: 1992 .line 332 1993 7| move-exception v0 1994 .line 333 1995 .local v0, "t", java.lang.Throwable 1996 8| invoke-static {v0}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 1997 11| goto Label_4 1998Label_2: 1999 .line 330 2000 .end_local v0 2001 12| move-exception v0 2002 .line 331 2003 .local v0, "e", com.code_intelligence.jazzer.api.AutofuzzInvocationException 2004 13| invoke-virtual {v0}, com.code_intelligence.jazzer.api.AutofuzzInvocationException.getCause():java.lang.Throwable 2005 16| move-result-object v1 2006 17| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2007Label_3: 2008 .line 334 2009 .end_local v0 2010 20| nop 2011Label_4: 2012 .line 335 2013 21| return-void 2014} 2015 2016method com.code_intelligence.jazzer.api.Jazzer.autofuzz(com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Consumer2):void 2017{ 2018 .try_begin_1 2019 .params "data", "?" 2020 .src "Jazzer.java" 2021 .line 354 2022 .line 354 2023 .local_ex v3, "func", com.code_intelligence.jazzer.api.Consumer2, "Lcom/code_intelligence/jazzer/api/Consumer2<TT1;TT2;>;" 2024 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_CONSUMER_2 2025 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 2026 .try_end_1 2027 catch(com.code_intelligence.jazzer.api.AutofuzzInvocationException) : Label_2 2028 catch(...) : Label_1 2029 6| goto Label_3 2030Label_1: 2031 .line 357 2032 7| move-exception v0 2033 .line 358 2034 .local v0, "t", java.lang.Throwable 2035 8| invoke-static {v0}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2036 11| goto Label_4 2037Label_2: 2038 .line 355 2039 .end_local v0 2040 12| move-exception v0 2041 .line 356 2042 .local v0, "e", com.code_intelligence.jazzer.api.AutofuzzInvocationException 2043 13| invoke-virtual {v0}, com.code_intelligence.jazzer.api.AutofuzzInvocationException.getCause():java.lang.Throwable 2044 16| move-result-object v1 2045 17| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2046Label_3: 2047 .line 359 2048 .end_local v0 2049 20| nop 2050Label_4: 2051 .line 360 2052 21| return-void 2053} 2054 2055method com.code_intelligence.jazzer.api.Jazzer.autofuzz(com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Consumer3):void 2056{ 2057 .try_begin_1 2058 .params "data", "?" 2059 .src "Jazzer.java" 2060 .line 379 2061 .line 379 2062 .local_ex v3, "func", com.code_intelligence.jazzer.api.Consumer3, "Lcom/code_intelligence/jazzer/api/Consumer3<TT1;TT2;TT3;>;" 2063 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_CONSUMER_3 2064 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 2065 .try_end_1 2066 catch(com.code_intelligence.jazzer.api.AutofuzzInvocationException) : Label_2 2067 catch(...) : Label_1 2068 6| goto Label_3 2069Label_1: 2070 .line 382 2071 7| move-exception v0 2072 .line 383 2073 .local v0, "t", java.lang.Throwable 2074 8| invoke-static {v0}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2075 11| goto Label_4 2076Label_2: 2077 .line 380 2078 .end_local v0 2079 12| move-exception v0 2080 .line 381 2081 .local v0, "e", com.code_intelligence.jazzer.api.AutofuzzInvocationException 2082 13| invoke-virtual {v0}, com.code_intelligence.jazzer.api.AutofuzzInvocationException.getCause():java.lang.Throwable 2083 16| move-result-object v1 2084 17| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2085Label_3: 2086 .line 384 2087 .end_local v0 2088 20| nop 2089Label_4: 2090 .line 385 2091 21| return-void 2092} 2093 2094method com.code_intelligence.jazzer.api.Jazzer.autofuzz(com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Consumer4):void 2095{ 2096 .try_begin_1 2097 .params "data", "?" 2098 .src "Jazzer.java" 2099 .line 405 2100 .line 405 2101 .local_ex v3, "func", com.code_intelligence.jazzer.api.Consumer4, "Lcom/code_intelligence/jazzer/api/Consumer4<TT1;TT2;TT3;TT4;>;" 2102 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_CONSUMER_4 2103 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 2104 .try_end_1 2105 catch(com.code_intelligence.jazzer.api.AutofuzzInvocationException) : Label_2 2106 catch(...) : Label_1 2107 6| goto Label_3 2108Label_1: 2109 .line 408 2110 7| move-exception v0 2111 .line 409 2112 .local v0, "t", java.lang.Throwable 2113 8| invoke-static {v0}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2114 11| goto Label_4 2115Label_2: 2116 .line 406 2117 .end_local v0 2118 12| move-exception v0 2119 .line 407 2120 .local v0, "e", com.code_intelligence.jazzer.api.AutofuzzInvocationException 2121 13| invoke-virtual {v0}, com.code_intelligence.jazzer.api.AutofuzzInvocationException.getCause():java.lang.Throwable 2122 16| move-result-object v1 2123 17| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2124Label_3: 2125 .line 410 2126 .end_local v0 2127 20| nop 2128Label_4: 2129 .line 411 2130 21| return-void 2131} 2132 2133method com.code_intelligence.jazzer.api.Jazzer.autofuzz(com.code_intelligence.jazzer.api.FuzzedDataProvider, com.code_intelligence.jazzer.api.Consumer5):void 2134{ 2135 .try_begin_1 2136 .params "data", "?" 2137 .src "Jazzer.java" 2138 .line 431 2139 .line 431 2140 .local_ex v3, "func", com.code_intelligence.jazzer.api.Consumer5, "Lcom/code_intelligence/jazzer/api/Consumer5<TT1;TT2;TT3;TT4;TT5;>;" 2141 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.AUTOFUZZ_CONSUMER_5 2142 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 2143 .try_end_1 2144 catch(com.code_intelligence.jazzer.api.AutofuzzInvocationException) : Label_2 2145 catch(...) : Label_1 2146 6| goto Label_3 2147Label_1: 2148 .line 434 2149 7| move-exception v0 2150 .line 435 2151 .local v0, "t", java.lang.Throwable 2152 8| invoke-static {v0}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2153 11| goto Label_4 2154Label_2: 2155 .line 432 2156 .end_local v0 2157 12| move-exception v0 2158 .line 433 2159 .local v0, "e", com.code_intelligence.jazzer.api.AutofuzzInvocationException 2160 13| invoke-virtual {v0}, com.code_intelligence.jazzer.api.AutofuzzInvocationException.getCause():java.lang.Throwable 2161 16| move-result-object v1 2162 17| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2163Label_3: 2164 .line 436 2165 .end_local v0 2166 20| nop 2167Label_4: 2168 .line 437 2169 21| return-void 2170} 2171 2172method com.code_intelligence.jazzer.api.Jazzer.consume(com.code_intelligence.jazzer.api.FuzzedDataProvider, java.lang.Class):java.lang.Object 2173{ 2174 .params "data", "?" 2175 .src "Jazzer.java" 2176 .line 454 2177 .line 454 2178 .local_ex v3, "type", java.lang.Class, "Ljava/lang/Class<TT;>;" 2179 0| const/4 v0, #+0 (0x00000000 | 0.00000) 2180 .try_begin_1 2181 1| sget-object v1, com.code_intelligence.jazzer.api.Jazzer.CONSUME 2182 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 2183 7| move-result-object v0 2184 .try_end_1 2185 catch(com.code_intelligence.jazzer.api.AutofuzzConstructionException) : Label_2 2186 catch(...) : Label_1 2187 8| return-object v0 2188Label_1: 2189 .line 457 2190 9| move-exception v1 2191 .line 458 2192 .local v1, "t", java.lang.Throwable 2193 10| invoke-static {v1}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2194 .line 460 2195 13| return-object v0 2196Label_2: 2197 .line 455 2198 .end_local v1 2199 14| move-exception v1 2200 .line 456 2201 .local v1, "ignored", com.code_intelligence.jazzer.api.AutofuzzConstructionException 2202 15| return-object v0 2203} 2204 2205method com.code_intelligence.jazzer.api.Jazzer.exploreState(byte, int):void 2206{ 2207 .params "state", "id" 2208 .src "Jazzer.java" 2209 .line 550 2210 .line 550 2211 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.TRACE_PC_INDIR 2212 2| if-nez v0, Label_1 2213 .line 551 2214 4| return-void 2215Label_1: 2216 .line 576 2217 5| and-int/lit8 v1, v3, #+127 (0x0000007f | 1.77965e-43) 2218 7| shl-int/lit8 v2, v4, #+7 (0x00000007 | 9.80909e-45) 2219 9| or-int/2addr v1, v2 2220 .line 577 2221 .local v1, "lowerBits", int 2222 10| ushr-int/lit8 v2, v4, #+5 (0x00000005 | 7.00649e-45) 2223 .try_begin_1 2224 .line 579 2225 .local v2, "upperBits", int 2226 12| invoke-polymorphic {v0,v2,v1}, java.lang.invoke.MethodHandle.invokeExact(java.lang.Object[]):java.lang.Object, (int, int):void 2227 .try_end_1 2228 catch(...) : Label_2 2229 .line 582 2230 16| goto Label_3 2231Label_2: 2232 .line 580 2233 17| move-exception v0 2234 .line 581 2235 .local v0, "e", java.lang.Throwable 2236 18| invoke-virtual {v0}, java.lang.Throwable.printStackTrace():void 2237Label_3: 2238 .line 583 2239 .end_local v0 2240 21| return-void 2241} 2242 2243method com.code_intelligence.jazzer.api.Jazzer.getLibFuzzerSeed():int 2244{ 2245 .src "Jazzer.java" 2246 .line 630 2247 .line 630 2248 0| const-string v0, "jazzer.seed" 2249 2| invoke-static {v0}, java.lang.System.getProperty(java.lang.String):java.lang.String 2250 5| move-result-object v0 2251 .line 631 2252 .local v0, "rawSeed", java.lang.String 2253 6| if-nez v0, Label_1 2254 .line 632 2255 8| new-instance v1, java.security.SecureRandom 2256 10| invoke-direct {v1}, java.security.SecureRandom.<init>():void 2257 13| invoke-virtual {v1}, java.security.SecureRandom.nextInt():int 2258 16| move-result v1 2259 17| return v1 2260Label_1: 2261 .line 635 2262 18| invoke-static {v0}, java.lang.Integer.parseUnsignedInt(java.lang.String):int 2263 21| move-result v1 2264 22| return v1 2265} 2266 2267method com.code_intelligence.jazzer.api.Jazzer.guideTowardsContainment(java.lang.String, java.lang.String, int):void 2268{ 2269 .params "haystack", "needle", "id" 2270 .src "Jazzer.java" 2271 .line 524 2272 .line 524 2273 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.TRACE_STRSTR 2274 2| if-nez v0, Label_1 2275 .line 525 2276 4| return-void 2277Label_1: 2278 .try_begin_1 2279 .line 528 2280 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 2281 .try_end_1 2282 catch(...) : Label_2 2283 .line 531 2284 9| goto Label_3 2285Label_2: 2286 .line 529 2287 10| move-exception v0 2288 .line 530 2289 .local v0, "e", java.lang.Throwable 2290 11| invoke-virtual {v0}, java.lang.Throwable.printStackTrace():void 2291Label_3: 2292 .line 532 2293 .end_local v0 2294 14| return-void 2295} 2296 2297method com.code_intelligence.jazzer.api.Jazzer.guideTowardsEquality(java.lang.String, java.lang.String, int):void 2298{ 2299 .params "current", "target", "id" 2300 .src "Jazzer.java" 2301 .line 477 2302 .line 477 2303 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.TRACE_STRCMP 2304 2| if-nez v0, Label_1 2305 .line 478 2306 4| return-void 2307Label_1: 2308 .line 481 2309 5| const/4 v1, #+1 (0x00000001 | 1.40130e-45) 2310 .try_begin_1 2311 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 2312 .try_end_1 2313 catch(...) : Label_2 2314 .line 484 2315 10| goto Label_3 2316Label_2: 2317 .line 482 2318 11| move-exception v0 2319 .line 483 2320 .local v0, "e", java.lang.Throwable 2321 12| invoke-virtual {v0}, java.lang.Throwable.printStackTrace():void 2322Label_3: 2323 .line 485 2324 .end_local v0 2325 15| return-void 2326} 2327 2328method com.code_intelligence.jazzer.api.Jazzer.guideTowardsEquality(byte[], byte[], int):void 2329{ 2330 .params "current", "target", "id" 2331 .src "Jazzer.java" 2332 .line 500 2333 .line 500 2334 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.TRACE_MEMCMP 2335 2| if-nez v0, Label_1 2336 .line 501 2337 4| return-void 2338Label_1: 2339 .line 504 2340 5| const/4 v1, #+1 (0x00000001 | 1.40130e-45) 2341 .try_begin_1 2342 6| invoke-polymorphic {v0,v2,v3,v1,v4}, java.lang.invoke.MethodHandle.invokeExact(java.lang.Object[]):java.lang.Object, (byte[], byte[], int, int):void 2343 .try_end_1 2344 catch(...) : Label_2 2345 .line 507 2346 10| goto Label_3 2347Label_2: 2348 .line 505 2349 11| move-exception v0 2350 .line 506 2351 .local v0, "e", java.lang.Throwable 2352 12| invoke-virtual {v0}, java.lang.Throwable.printStackTrace():void 2353Label_3: 2354 .line 508 2355 .end_local v0 2356 15| return-void 2357} 2358 2359method com.code_intelligence.jazzer.api.Jazzer.onFuzzTargetReady(java.lang.Runnable):void 2360{ 2361 .try_begin_1 2362 .params "callback" 2363 .src "Jazzer.java" 2364 .line 620 2365 .line 620 2366 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.ON_FUZZ_TARGET_READY 2367 2| invoke-polymorphic {v0,v1}, java.lang.invoke.MethodHandle.invokeExact(java.lang.Object[]):java.lang.Object, (java.lang.Runnable):void 2368 .try_end_1 2369 catch(...) : Label_1 2370 .line 623 2371 6| goto Label_2 2372Label_1: 2373 .line 621 2374 7| move-exception v0 2375 .line 622 2376 .local v0, "e", java.lang.Throwable 2377 8| invoke-virtual {v0}, java.lang.Throwable.printStackTrace():void 2378Label_2: 2379 .line 624 2380 .end_local v0 2381 11| return-void 2382} 2383 2384method com.code_intelligence.jazzer.api.Jazzer.reportFindingFromHook(java.lang.Throwable):void 2385{ 2386 .try_begin_1 2387 .params "finding" 2388 .src "Jazzer.java" 2389 .line 594 2390 .line 594 2391 0| sget-object v0, com.code_intelligence.jazzer.api.Jazzer.JAZZER_INTERNAL 2392 2| const-string v1, "reportFindingFromHook" 2393 4| const/4 v2, #+1 (0x00000001 | 1.40130e-45) 2394 5| new-array v2, v2, java.lang.Class[] 2395 7| const-class v3, java.lang.Throwable 2396 9| const/4 v4, #+0 (0x00000000 | 0.00000) 2397 10| aput-object v3, v2, v4 2398 12| invoke-virtual {v0,v1,v2}, java.lang.Class.getMethod(java.lang.String, java.lang.Class[]):java.lang.reflect.Method 2399 15| move-result-object v0 2400 16| filled-new-array {v5}, java.lang.Object[] 2401 19| move-result-object v1 2402 20| const/4 v2, #+0 (0x00000000 | 0.00000) 2403 21| invoke-virtual {v0,v2,v1}, java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]):java.lang.Object 2404 .try_end_1 2405 catch(java.lang.NullPointerException) : Label_3 2406 catch(java.lang.IllegalAccessException) : Label_3 2407 catch(java.lang.NoSuchMethodException) : Label_3 2408 catch(java.lang.reflect.InvocationTargetException) : Label_1 2409 24| goto Label_4 2410Label_1: 2411 .line 599 2412 25| move-exception v0 2413 .line 602 2414 .local v0, "e", java.lang.reflect.InvocationTargetException 2415 26| invoke-virtual {v0}, java.lang.reflect.InvocationTargetException.getCause():java.lang.Throwable 2416 29| move-result-object v1 2417 30| invoke-virtual {v1}, java.lang.Object.getClass():java.lang.Class 2418 33| move-result-object v1 2419 34| invoke-virtual {v1}, java.lang.Class.getName():java.lang.String 2420 37| move-result-object v1 2421 38| const-string v2, ".HardToCatchError" 2422 40| invoke-virtual {v1,v2}, java.lang.String.endsWith(java.lang.String):boolean 2423 43| move-result v1 2424 44| if-nez v1, Label_2 2425 .line 605 2426 46| invoke-virtual {v0}, java.lang.reflect.InvocationTargetException.printStackTrace():void 2427 49| goto Label_5 2428Label_2: 2429 .line 603 2430 50| invoke-virtual {v0}, java.lang.reflect.InvocationTargetException.getCause():java.lang.Throwable 2431 53| move-result-object v1 2432 54| check-cast v1, java.lang.Error 2433 56| throw v1 2434Label_3: 2435 .line 595 2436 .end_local v0 2437 57| move-exception v0 2438 .line 598 2439 .local v0, "e", java.lang.Exception 2440 58| invoke-static {v5}, com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2441Label_4: 2442 .line 607 2443 .end_local v0 2444 61| nop 2445Label_5: 2446 .line 608 2447 62| return-void 2448} 2449 2450method com.code_intelligence.jazzer.api.Jazzer.rethrowUnchecked(java.lang.Throwable):void 2451{ 2452 .params "t" 2453 .src "Jazzer.java" 2454 .line 641 2455 .line 641 2456 0| throw v0 2457} 2458 2459method com.code_intelligence.jazzer.api.MethodHook.additionalClassesToHook():java.lang.String[] 2460{ 2461} 2462 2463method com.code_intelligence.jazzer.api.MethodHook.targetClassName():java.lang.String 2464{ 2465} 2466 2467method com.code_intelligence.jazzer.api.MethodHook.targetMethod():java.lang.String 2468{ 2469} 2470 2471method com.code_intelligence.jazzer.api.MethodHook.targetMethodDescriptor():java.lang.String 2472{ 2473} 2474 2475method com.code_intelligence.jazzer.api.MethodHook.type():com.code_intelligence.jazzer.api.HookType 2476{ 2477} 2478 2479method com.code_intelligence.jazzer.api.MethodHooks.value():com.code_intelligence.jazzer.api.MethodHook[] 2480{ 2481} 2482 2483method com.example.ExampleJavaHelper.<init>():void 2484{ 2485 .src "ExampleJavaHelper.java" 2486 .line 7 2487 .line 7 2488 0| invoke-direct {v1}, java.lang.Object.<init>():void 2489 3| const/4 v0, #+5 (0x00000005 | 7.00649e-45) 2490 4| invoke-static {v0}, com.code_intelligence.jazzer.runtime.CoverageMap.recordCoverage(int):void 2491 7| return-void 2492} 2493 2494method com.example.ExampleJavaHelper.fuzzerTestOneInput(byte[]):void 2495{ 2496 .try_begin_1 2497 .params "data" 2498 .src "ExampleJavaHelper.java" 2499 .line 10 2500 .line 10 2501 0| new-instance v0, java.io.ObjectInputStream 2502 2| new-instance v1, java.io.ByteArrayInputStream 2503 4| invoke-direct {v1,v5}, java.io.ByteArrayInputStream.<init>(byte[]):void 2504 7| filled-new-array {v1}, java.lang.Object[] 2505 10| move-result-object v1 2506 11| const v2, #+590768839 (0x23366ac7 | 9.88885e-18) 2507 14| const/4 v3, #+0 (0x00000000 | 0.00000) 2508 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 2509 18| const/4 v2, #+0 (0x00000000 | 0.00000) 2510 19| aget-object v4, v1, v2 2511 21| check-cast v4, java.io.InputStream 2512 23| invoke-direct {v0,v4}, java.io.ObjectInputStream.<init>(java.io.InputStream):void 2513 26| const v4, #-1337761839 (0xb0435fd1 | -7.10768e-10) 2514 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 2515 32| const/4 v1, #+6 (0x00000006 | 8.40779e-45) 2516 33| invoke-static {v1}, com.code_intelligence.jazzer.runtime.CoverageMap.recordCoverage(int):void 2517 .line 11 2518 .local v0, "ois", java.io.ObjectInputStream 2519 36| new-array v1, v2, java.lang.Object[] 2520 38| const-method-handle v2, readObject 2521 40| const v3, #+1356244862 (0x50d6a77e | 2.88104e+10) 2522 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 2523 46| invoke-virtual {v0}, java.io.ObjectInputStream.readObject():java.lang.Object 2524 .try_end_1 2525 catch(java.io.IOException) : Label_2 2526 catch(java.lang.ClassNotFoundException) : Label_2 2527 catch(java.lang.NullPointerException) : Label_1 2528 catch(java.lang.NegativeArraySizeException) : Label_1 2529 .line 16 2530 49| nop 2531 .end_local v0 2532 50| const/4 v0, #+7 (0x00000007 | 9.80909e-45) 2533 51| goto Label_3 2534Label_1: 2535 .line 14 2536 52| move-exception v0 2537 53| const/16 v0, #+9 (0x00000009 | 1.26117e-44) 2538 55| invoke-static {v0}, com.code_intelligence.jazzer.runtime.CoverageMap.recordCoverage(int):void 2539 58| goto Label_4 2540Label_2: 2541 .line 12 2542 59| move-exception v0 2543 .line 16 2544 60| const/16 v0, #+8 (0x00000008 | 1.12104e-44) 2545Label_3: 2546 62| invoke-static {v0}, com.code_intelligence.jazzer.runtime.CoverageMap.recordCoverage(int):void 2547Label_4: 2548 .line 17 2549 65| const/16 v0, #+10 (0x0000000a | 1.40130e-44) 2550 67| invoke-static {v0}, com.code_intelligence.jazzer.runtime.CoverageMap.recordCoverage(int):void 2551 70| return-void 2552} 2553 2554method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.<init>(java.lang.String):void 2555{ 2556 .params "can" 2557 .src "CannedFuzzedDataProvider.java" 2558 .line 30 2559 .line 30 2560 0| invoke-direct {v5}, java.lang.Object.<init>():void 2561 .line 31 2562 3| invoke-static {}, java.util.Base64.getDecoder():java.util.Base64$Decoder 2563 6| move-result-object v0 2564 7| invoke-virtual {v0,v6}, java.util.Base64$Decoder.decode(java.lang.String):byte[] 2565 10| move-result-object v0 2566 .try_begin_1 2567 .line 33 2568 .local v0, "rawIn", byte[] 2569 11| new-instance v1, java.io.ByteArrayInputStream 2570 13| invoke-direct {v1,v0}, java.io.ByteArrayInputStream.<init>(byte[]):void 2571 .try_end_1 2572 catch(java.io.IOException) : Label_7 2573 catch(java.lang.ClassNotFoundException) : Label_7 2574 .try_begin_2 2575 .line 34 2576 .local v1, "byteStream", java.io.ByteArrayInputStream 2577 16| new-instance v2, java.io.ObjectInputStream 2578 18| invoke-direct {v2,v1}, java.io.ObjectInputStream.<init>(java.io.InputStream):void 2579 .try_end_2 2580 catch(...) : Label_4 2581 .try_begin_3 2582 .line 35 2583 .local v2, "objectStream", java.io.ObjectInputStream 2584 21| invoke-virtual {v2}, java.io.ObjectInputStream.readObject():java.lang.Object 2585 24| move-result-object v3 2586 25| check-cast v3, java.util.ArrayList 2587 .try_end_3 2588 catch(...) : Label_1 2589 .try_begin_4 2590 .line 36 2591 .local_ex v3, "recordedReplies", java.util.ArrayList, "Ljava/util/ArrayList<Ljava/lang/Object;>;" 2592 27| invoke-virtual {v2}, java.io.ObjectInputStream.close():void 2593 .try_end_4 2594 catch(...) : Label_4 2595 .try_begin_5 2596 .line 37 2597 .end_local v2 2598 30| invoke-virtual {v1}, java.io.ByteArrayInputStream.close():void 2599 .try_end_5 2600 catch(java.io.IOException) : Label_7 2601 catch(java.lang.ClassNotFoundException) : Label_7 2602 .line 39 2603 .end_local v1 2604 33| nop 2605 .line 40 2606 34| invoke-virtual {v3}, java.util.ArrayList.iterator():java.util.Iterator 2607 37| move-result-object v1 2608 38| iput-object v1, v5, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 2609 .line 41 2610 40| return-void 2611Label_1: 2612 .line 34 2613 .end_local v3 2614 .restart_local v1 2615 .restart_local v2 2616 41| move-exception v3 2617 .try_begin_6 2618 42| invoke-virtual {v2}, java.io.ObjectInputStream.close():void 2619 .try_end_6 2620 catch(...) : Label_2 2621 45| goto Label_3 2622Label_2: 2623 46| move-exception v4 2624 .try_begin_7 2625 47| invoke-virtual {v3,v4}, java.lang.Throwable.addSuppressed(java.lang.Throwable):void 2626Label_3: 2627 .end_local v0 2628 .end_local v1 2629 .end_local v5 2630 .end_local v6 2631 50| throw v3 2632 .try_end_7 2633 catch(...) : Label_4 2634Label_4: 2635 .line 33 2636 .end_local v2 2637 .restart_local v0 2638 .restart_local v1 2639 .restart_local v5 2640 .restart_local v6 2641 51| move-exception v2 2642 .try_begin_8 2643 52| invoke-virtual {v1}, java.io.ByteArrayInputStream.close():void 2644 .try_end_8 2645 catch(...) : Label_5 2646 55| goto Label_6 2647Label_5: 2648 56| move-exception v3 2649 .try_begin_9 2650 57| invoke-virtual {v2,v3}, java.lang.Throwable.addSuppressed(java.lang.Throwable):void 2651Label_6: 2652 .end_local v0 2653 .end_local v5 2654 .end_local v6 2655 60| throw v2 2656 .try_end_9 2657 catch(java.io.IOException) : Label_7 2658 catch(java.lang.ClassNotFoundException) : Label_7 2659Label_7: 2660 .line 37 2661 .end_local v1 2662 .restart_local v0 2663 .restart_local v5 2664 .restart_local v6 2665 61| move-exception v1 2666 .line 38 2667 .local v1, "e", java.lang.Exception 2668 62| new-instance v2, java.lang.RuntimeException 2669 64| invoke-direct {v2,v1}, java.lang.RuntimeException.<init>(java.lang.Throwable):void 2670 67| throw v2 2671} 2672 2673method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.create(java.util.List):com.code_intelligence.jazzer.api.CannedFuzzedDataProvider 2674{ 2675 .try_begin_1 2676 .params "?" 2677 .src "CannedFuzzedDataProvider.java" 2678 .line 45 2679 .line 45 2680 .local_ex v4, "objects", java.util.List, "Ljava/util/List<Ljava/lang/Object;>;" 2681 0| new-instance v0, java.io.ByteArrayOutputStream 2682 2| invoke-direct {v0}, java.io.ByteArrayOutputStream.<init>():void 2683 .try_end_1 2684 catch(java.io.IOException) : Label_7 2685 .try_begin_2 2686 .line 46 2687 .local v0, "bout", java.io.ByteArrayOutputStream 2688 5| new-instance v1, java.io.ObjectOutputStream 2689 7| invoke-direct {v1,v0}, java.io.ObjectOutputStream.<init>(java.io.OutputStream):void 2690 .try_end_2 2691 catch(...) : Label_4 2692 .try_begin_3 2693 .line 47 2694 .local v1, "out", java.io.ObjectOutputStream 2695 10| new-instance v2, java.util.ArrayList 2696 12| invoke-direct {v2,v4}, java.util.ArrayList.<init>(java.util.Collection):void 2697 15| invoke-virtual {v1,v2}, java.io.ObjectOutputStream.writeObject(java.lang.Object):void 2698 .line 48 2699 18| invoke-static {}, java.util.Base64.getEncoder():java.util.Base64$Encoder 2700 21| move-result-object v2 2701 22| invoke-virtual {v0}, java.io.ByteArrayOutputStream.toByteArray():byte[] 2702 25| move-result-object v3 2703 26| invoke-virtual {v2,v3}, java.util.Base64$Encoder.encodeToString(byte[]):java.lang.String 2704 29| move-result-object v2 2705 .line 49 2706 .local v2, "base64", java.lang.String 2707 30| new-instance v3, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider 2708 32| invoke-direct {v3,v2}, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.<init>(java.lang.String):void 2709 .try_end_3 2710 catch(...) : Label_1 2711 .try_begin_4 2712 .line 50 2713 35| invoke-virtual {v1}, java.io.ObjectOutputStream.close():void 2714 .try_end_4 2715 catch(...) : Label_4 2716 .try_begin_5 2717 .line 51 2718 38| invoke-virtual {v0}, java.io.ByteArrayOutputStream.close():void 2719 .try_end_5 2720 catch(java.io.IOException) : Label_7 2721 .line 49 2722 41| return-object v3 2723Label_1: 2724 .line 46 2725 .end_local v2 2726 42| move-exception v2 2727 .try_begin_6 2728 43| invoke-virtual {v1}, java.io.ObjectOutputStream.close():void 2729 .try_end_6 2730 catch(...) : Label_2 2731 46| goto Label_3 2732Label_2: 2733 47| move-exception v3 2734 .try_begin_7 2735 48| invoke-virtual {v2,v3}, java.lang.Throwable.addSuppressed(java.lang.Throwable):void 2736Label_3: 2737 .end_local v0 2738 .end_local v4 2739 51| throw v2 2740 .try_end_7 2741 catch(...) : Label_4 2742Label_4: 2743 .line 45 2744 .end_local v1 2745 .restart_local v0 2746 .restart_local v4 2747 52| move-exception v1 2748 .try_begin_8 2749 53| invoke-virtual {v0}, java.io.ByteArrayOutputStream.close():void 2750 .try_end_8 2751 catch(...) : Label_5 2752 56| goto Label_6 2753Label_5: 2754 57| move-exception v2 2755 .try_begin_9 2756 58| invoke-virtual {v1,v2}, java.lang.Throwable.addSuppressed(java.lang.Throwable):void 2757Label_6: 2758 .end_local v4 2759 61| throw v1 2760 .try_end_9 2761 catch(java.io.IOException) : Label_7 2762Label_7: 2763 .line 52 2764 .end_local v0 2765 .restart_local v4 2766 62| move-exception v0 2767 .line 53 2768 .local v0, "e", java.io.IOException 2769 63| new-instance v1, java.lang.IllegalStateException 2770 65| invoke-direct {v1,v0}, java.lang.IllegalStateException.<init>(java.lang.Throwable):void 2771 68| throw v1 2772} 2773 2774method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeAsciiString(int):java.lang.String 2775{ 2776 .params "maxLength" 2777 .src "CannedFuzzedDataProvider.java" 2778 .line 179 2779 .line 179 2780 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 2781 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 2782 5| move-result-object v0 2783 6| check-cast v0, java.lang.String 2784 8| return-object v0 2785} 2786 2787method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeBoolean():boolean 2788{ 2789 .src "CannedFuzzedDataProvider.java" 2790 .line 59 2791 .line 59 2792 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 2793 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 2794 5| move-result-object v0 2795 6| check-cast v0, java.lang.Boolean 2796 8| invoke-virtual {v0}, java.lang.Boolean.booleanValue():boolean 2797 11| move-result v0 2798 12| return v0 2799} 2800 2801method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeBooleans(int):boolean[] 2802{ 2803 .params "maxLength" 2804 .src "CannedFuzzedDataProvider.java" 2805 .line 64 2806 .line 64 2807 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 2808 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 2809 5| move-result-object v0 2810 6| check-cast v0, boolean[] 2811 8| return-object v0 2812} 2813 2814method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeByte():byte 2815{ 2816 .src "CannedFuzzedDataProvider.java" 2817 .line 69 2818 .line 69 2819 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 2820 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 2821 5| move-result-object v0 2822 6| check-cast v0, java.lang.Byte 2823 8| invoke-virtual {v0}, java.lang.Byte.byteValue():byte 2824 11| move-result v0 2825 12| return v0 2826} 2827 2828method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeByte(byte, byte):byte 2829{ 2830 .params "min", "max" 2831 .src "CannedFuzzedDataProvider.java" 2832 .line 74 2833 .line 74 2834 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 2835 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 2836 5| move-result-object v0 2837 6| check-cast v0, java.lang.Byte 2838 8| invoke-virtual {v0}, java.lang.Byte.byteValue():byte 2839 11| move-result v0 2840 12| return v0 2841} 2842 2843method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeBytes(int):byte[] 2844{ 2845 .params "maxLength" 2846 .src "CannedFuzzedDataProvider.java" 2847 .line 199 2848 .line 199 2849 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 2850 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 2851 5| move-result-object v0 2852 6| check-cast v0, byte[] 2853 8| return-object v0 2854} 2855 2856method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeChar():char 2857{ 2858 .src "CannedFuzzedDataProvider.java" 2859 .line 164 2860 .line 164 2861 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 2862 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 2863 5| move-result-object v0 2864 6| check-cast v0, java.lang.Character 2865 8| invoke-virtual {v0}, java.lang.Character.charValue():char 2866 11| move-result v0 2867 12| return v0 2868} 2869 2870method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeChar(char, char):char 2871{ 2872 .params "min", "max" 2873 .src "CannedFuzzedDataProvider.java" 2874 .line 169 2875 .line 169 2876 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 2877 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 2878 5| move-result-object v0 2879 6| check-cast v0, java.lang.Character 2880 8| invoke-virtual {v0}, java.lang.Character.charValue():char 2881 11| move-result v0 2882 12| return v0 2883} 2884 2885method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeCharNoSurrogates():char 2886{ 2887 .src "CannedFuzzedDataProvider.java" 2888 .line 174 2889 .line 174 2890 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 2891 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 2892 5| move-result-object v0 2893 6| check-cast v0, java.lang.Character 2894 8| invoke-virtual {v0}, java.lang.Character.charValue():char 2895 11| move-result v0 2896 12| return v0 2897} 2898 2899method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeDouble():double 2900{ 2901 .src "CannedFuzzedDataProvider.java" 2902 .line 144 2903 .line 144 2904 0| iget-object v0, v2, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 2905 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 2906 5| move-result-object v0 2907 6| check-cast v0, java.lang.Double 2908 8| invoke-virtual {v0}, java.lang.Double.doubleValue():double 2909 11| move-result-wide v0:v1 2910 12| return-wide v0:v1 2911} 2912 2913method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeFloat():float 2914{ 2915 .src "CannedFuzzedDataProvider.java" 2916 .line 124 2917 .line 124 2918 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 2919 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 2920 5| move-result-object v0 2921 6| check-cast v0, java.lang.Float 2922 8| invoke-virtual {v0}, java.lang.Float.floatValue():float 2923 11| move-result v0 2924 12| return v0 2925} 2926 2927method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeInt():int 2928{ 2929 .src "CannedFuzzedDataProvider.java" 2930 .line 94 2931 .line 94 2932 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 2933 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 2934 5| move-result-object v0 2935 6| check-cast v0, java.lang.Integer 2936 8| invoke-virtual {v0}, java.lang.Integer.intValue():int 2937 11| move-result v0 2938 12| return v0 2939} 2940 2941method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeInt(int, int):int 2942{ 2943 .params "min", "max" 2944 .src "CannedFuzzedDataProvider.java" 2945 .line 99 2946 .line 99 2947 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 2948 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 2949 5| move-result-object v0 2950 6| check-cast v0, java.lang.Integer 2951 8| invoke-virtual {v0}, java.lang.Integer.intValue():int 2952 11| move-result v0 2953 12| return v0 2954} 2955 2956method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeInts(int):int[] 2957{ 2958 .params "maxLength" 2959 .src "CannedFuzzedDataProvider.java" 2960 .line 104 2961 .line 104 2962 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 2963 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 2964 5| move-result-object v0 2965 6| check-cast v0, int[] 2966 8| return-object v0 2967} 2968 2969method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeLong():long 2970{ 2971 .src "CannedFuzzedDataProvider.java" 2972 .line 109 2973 .line 109 2974 0| iget-object v0, v2, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 2975 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 2976 5| move-result-object v0 2977 6| check-cast v0, java.lang.Long 2978 8| invoke-virtual {v0}, java.lang.Long.longValue():long 2979 11| move-result-wide v0:v1 2980 12| return-wide v0:v1 2981} 2982 2983method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeLong(long, long):long 2984{ 2985 .params "min", "max" 2986 .src "CannedFuzzedDataProvider.java" 2987 .line 114 2988 .line 114 2989 0| iget-object v0, v2, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 2990 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 2991 5| move-result-object v0 2992 6| check-cast v0, java.lang.Long 2993 8| invoke-virtual {v0}, java.lang.Long.longValue():long 2994 11| move-result-wide v0:v1 2995 12| return-wide v0:v1 2996} 2997 2998method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeLongs(int):long[] 2999{ 3000 .params "maxLength" 3001 .src "CannedFuzzedDataProvider.java" 3002 .line 119 3003 .line 119 3004 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 3005 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 3006 5| move-result-object v0 3007 6| check-cast v0, long[] 3008 8| return-object v0 3009} 3010 3011method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeProbabilityDouble():double 3012{ 3013 .src "CannedFuzzedDataProvider.java" 3014 .line 159 3015 .line 159 3016 0| iget-object v0, v2, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 3017 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 3018 5| move-result-object v0 3019 6| check-cast v0, java.lang.Double 3020 8| invoke-virtual {v0}, java.lang.Double.doubleValue():double 3021 11| move-result-wide v0:v1 3022 12| return-wide v0:v1 3023} 3024 3025method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeProbabilityFloat():float 3026{ 3027 .src "CannedFuzzedDataProvider.java" 3028 .line 139 3029 .line 139 3030 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 3031 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 3032 5| move-result-object v0 3033 6| check-cast v0, java.lang.Float 3034 8| invoke-virtual {v0}, java.lang.Float.floatValue():float 3035 11| move-result v0 3036 12| return v0 3037} 3038 3039method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeRegularDouble():double 3040{ 3041 .src "CannedFuzzedDataProvider.java" 3042 .line 154 3043 .line 154 3044 0| iget-object v0, v2, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 3045 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 3046 5| move-result-object v0 3047 6| check-cast v0, java.lang.Double 3048 8| invoke-virtual {v0}, java.lang.Double.doubleValue():double 3049 11| move-result-wide v0:v1 3050 12| return-wide v0:v1 3051} 3052 3053method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeRegularDouble(double, double):double 3054{ 3055 .params "min", "max" 3056 .src "CannedFuzzedDataProvider.java" 3057 .line 149 3058 .line 149 3059 0| iget-object v0, v2, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 3060 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 3061 5| move-result-object v0 3062 6| check-cast v0, java.lang.Double 3063 8| invoke-virtual {v0}, java.lang.Double.doubleValue():double 3064 11| move-result-wide v0:v1 3065 12| return-wide v0:v1 3066} 3067 3068method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeRegularFloat():float 3069{ 3070 .src "CannedFuzzedDataProvider.java" 3071 .line 129 3072 .line 129 3073 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 3074 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 3075 5| move-result-object v0 3076 6| check-cast v0, java.lang.Float 3077 8| invoke-virtual {v0}, java.lang.Float.floatValue():float 3078 11| move-result v0 3079 12| return v0 3080} 3081 3082method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeRegularFloat(float, float):float 3083{ 3084 .params "min", "max" 3085 .src "CannedFuzzedDataProvider.java" 3086 .line 134 3087 .line 134 3088 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 3089 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 3090 5| move-result-object v0 3091 6| check-cast v0, java.lang.Float 3092 8| invoke-virtual {v0}, java.lang.Float.floatValue():float 3093 11| move-result v0 3094 12| return v0 3095} 3096 3097method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeRemainingAsAsciiString():java.lang.String 3098{ 3099 .src "CannedFuzzedDataProvider.java" 3100 .line 189 3101 .line 189 3102 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 3103 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 3104 5| move-result-object v0 3105 6| check-cast v0, java.lang.String 3106 8| return-object v0 3107} 3108 3109method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeRemainingAsBytes():byte[] 3110{ 3111 .src "CannedFuzzedDataProvider.java" 3112 .line 204 3113 .line 204 3114 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 3115 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 3116 5| move-result-object v0 3117 6| check-cast v0, byte[] 3118 8| return-object v0 3119} 3120 3121method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeRemainingAsString():java.lang.String 3122{ 3123 .src "CannedFuzzedDataProvider.java" 3124 .line 194 3125 .line 194 3126 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 3127 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 3128 5| move-result-object v0 3129 6| check-cast v0, java.lang.String 3130 8| return-object v0 3131} 3132 3133method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeShort():short 3134{ 3135 .src "CannedFuzzedDataProvider.java" 3136 .line 79 3137 .line 79 3138 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 3139 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 3140 5| move-result-object v0 3141 6| check-cast v0, java.lang.Short 3142 8| invoke-virtual {v0}, java.lang.Short.shortValue():short 3143 11| move-result v0 3144 12| return v0 3145} 3146 3147method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeShort(short, short):short 3148{ 3149 .params "min", "max" 3150 .src "CannedFuzzedDataProvider.java" 3151 .line 84 3152 .line 84 3153 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 3154 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 3155 5| move-result-object v0 3156 6| check-cast v0, java.lang.Short 3157 8| invoke-virtual {v0}, java.lang.Short.shortValue():short 3158 11| move-result v0 3159 12| return v0 3160} 3161 3162method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeShorts(int):short[] 3163{ 3164 .params "maxLength" 3165 .src "CannedFuzzedDataProvider.java" 3166 .line 89 3167 .line 89 3168 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 3169 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 3170 5| move-result-object v0 3171 6| check-cast v0, short[] 3172 8| return-object v0 3173} 3174 3175method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.consumeString(int):java.lang.String 3176{ 3177 .params "maxLength" 3178 .src "CannedFuzzedDataProvider.java" 3179 .line 184 3180 .line 184 3181 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 3182 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 3183 5| move-result-object v0 3184 6| check-cast v0, java.lang.String 3185 8| return-object v0 3186} 3187 3188method com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.remainingBytes():int 3189{ 3190 .src "CannedFuzzedDataProvider.java" 3191 .line 209 3192 .line 209 3193 0| iget-object v0, v1, com.code_intelligence.jazzer.api.CannedFuzzedDataProvider.nextReply 3194 2| invoke-interface {v0}, java.util.Iterator.next():java.lang.Object 3195 5| move-result-object v0 3196 6| check-cast v0, java.lang.Integer 3197 8| invoke-virtual {v0}, java.lang.Integer.intValue():int 3198 11| move-result v0 3199 12| return v0 3200} 3201