|
245 | 245 | ) |
246 | 246 | ) |
247 | 247 |
|
| 248 | + ;; CHECK: [fuzz-exec] calling encode-unsigned |
| 249 | + ;; CHECK-NEXT: [trap oob] |
| 250 | + (func $encode-unsigned (export "encode-unsigned") |
| 251 | + (drop |
| 252 | + (string.encode_wtf16_array |
| 253 | + (string.const "ab") |
| 254 | + (array.new_default $array16 |
| 255 | + (i32.const 28) |
| 256 | + ) |
| 257 | + ;; This is a huge unsigned offset, so we will trap on oob. |
| 258 | + (i32.const -2) |
| 259 | + ) |
| 260 | + ) |
| 261 | + ) |
| 262 | + |
| 263 | + ;; CHECK: [fuzz-exec] calling encode-overflow |
| 264 | + ;; CHECK-NEXT: [trap oob] |
| 265 | + (func $encode-overflow (export "encode-overflow") |
| 266 | + ;; The string's size + the offset lead to an overflow here in the array. |
| 267 | + (drop |
| 268 | + (string.encode_wtf16_array |
| 269 | + (string.const "ab") |
| 270 | + (array.new_default $array16 |
| 271 | + (i32.const 10) |
| 272 | + ) |
| 273 | + (i32.const 9) |
| 274 | + ) |
| 275 | + ) |
| 276 | + ) |
| 277 | + |
248 | 278 | ;; CHECK: [fuzz-exec] calling slice |
249 | 279 | ;; CHECK-NEXT: [fuzz-exec] note result: slice => string("def") |
250 | 280 | (func $slice (export "slice") (result (ref string)) |
|
332 | 362 | ;; CHECK-NEXT: [LoggingExternalInterface logging 99] |
333 | 363 | ;; CHECK-NEXT: [LoggingExternalInterface logging 0] |
334 | 364 |
|
| 365 | +;; CHECK: [fuzz-exec] calling encode-unsigned |
| 366 | +;; CHECK-NEXT: [trap oob] |
| 367 | + |
| 368 | +;; CHECK: [fuzz-exec] calling encode-overflow |
| 369 | +;; CHECK-NEXT: [trap oob] |
| 370 | + |
335 | 371 | ;; CHECK: [fuzz-exec] calling slice |
336 | 372 | ;; CHECK-NEXT: [fuzz-exec] note result: slice => string("def") |
337 | 373 |
|
|
349 | 385 | ;; CHECK-NEXT: [fuzz-exec] comparing compare.9 |
350 | 386 | ;; CHECK-NEXT: [fuzz-exec] comparing const |
351 | 387 | ;; CHECK-NEXT: [fuzz-exec] comparing encode |
| 388 | +;; CHECK-NEXT: [fuzz-exec] comparing encode-overflow |
| 389 | +;; CHECK-NEXT: [fuzz-exec] comparing encode-unsigned |
352 | 390 | ;; CHECK-NEXT: [fuzz-exec] comparing eq.1 |
353 | 391 | ;; CHECK-NEXT: [fuzz-exec] comparing eq.2 |
354 | 392 | ;; CHECK-NEXT: [fuzz-exec] comparing eq.3 |
|
0 commit comments