]> Cypherpunks.ru repositories - gostls13.git/commit
internal/trace/v2: avoid several panics for malformed traces
authorDominik Honnef <dominik@honnef.co>
Wed, 27 Dec 2023 21:01:19 +0000 (22:01 +0100)
committerGopher Robot <gobot@golang.org>
Fri, 12 Jan 2024 16:19:25 +0000 (16:19 +0000)
commite58e813950a630bd3d867802089773c0db2fcbf5
tree3947a3b8dea50e029bf5b65a20feedb87e5ed379
parentb2dbfbfc2315557815e1d5de12f28ed57f60958a
internal/trace/v2: avoid several panics for malformed traces

This addresses some panics (out of bounds slice accesses and nil pointer
dereferences) when parsing malformed data. These were found via light
fuzzing, not by any rigorous means, and more potential panics probably
exist.

Fixes #64878.
Fixes #64879.

Change-Id: I4085788ba7dc91fec62e4abd88f50777577db42f
Reviewed-on: https://go-review.googlesource.com/c/go/+/552995
Auto-Submit: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
19 files changed:
src/internal/trace/v2/base.go
src/internal/trace/v2/batchcursor.go
src/internal/trace/v2/order.go
src/internal/trace/v2/reader.go
src/internal/trace/v2/reader_test.go
src/internal/trace/v2/testdata/fuzz/FuzzReader/0cb1786dee0f090b [new file with mode: 0644]
src/internal/trace/v2/testdata/fuzz/FuzzReader/1e45307d5b2ec36d [new file with mode: 0644]
src/internal/trace/v2/testdata/fuzz/FuzzReader/2b05796f9b2fc48d [new file with mode: 0644]
src/internal/trace/v2/testdata/fuzz/FuzzReader/2b9be9aebe08d511 [new file with mode: 0644]
src/internal/trace/v2/testdata/fuzz/FuzzReader/344331b314da0b08 [new file with mode: 0644]
src/internal/trace/v2/testdata/fuzz/FuzzReader/365d7b5b633b3f97 [new file with mode: 0644]
src/internal/trace/v2/testdata/fuzz/FuzzReader/56f073e57903588c [new file with mode: 0644]
src/internal/trace/v2/testdata/fuzz/FuzzReader/aeb749b6bc317b66 [new file with mode: 0644]
src/internal/trace/v2/testdata/fuzz/FuzzReader/closing-unknown-region [new file with mode: 0644]
src/internal/trace/v2/testdata/fuzz/FuzzReader/d478e18d2d6756b7 [new file with mode: 0644]
src/internal/trace/v2/testdata/fuzz/FuzzReader/d91203cd397aa0bc [new file with mode: 0644]
src/internal/trace/v2/testdata/fuzz/FuzzReader/invalid-proc-state [new file with mode: 0644]
src/internal/trace/v2/testdata/fuzz/FuzzReader/large-id [new file with mode: 0644]
src/internal/trace/v2/testdata/fuzz/FuzzReader/malformed-timestamp [new file with mode: 0644]