Skip to content

Commit 65f6a89

Browse files
committed
Fuzzing: Add 4 fuzzers + small modifications
Signed-off-by: AdamKorcz <[email protected]>
1 parent af1a090 commit 65f6a89

4 files changed

Lines changed: 428 additions & 7 deletions

File tree

contrib/fuzz/container_fuzzer.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,18 @@ import (
2626
"context"
2727
"errors"
2828
"fmt"
29-
fuzz "github.com/AdaLogics/go-fuzz-headers"
30-
"github.com/containerd/containerd"
31-
"github.com/containerd/containerd/oci"
32-
"github.com/containerd/containerd/sys"
3329
"io"
3430
"io/ioutil"
3531
"net/http"
3632
"os"
37-
"os/exec"
3833
"strings"
3934
"time"
35+
36+
fuzz "github.com/AdaLogics/go-fuzz-headers"
37+
"github.com/containerd/containerd"
38+
"github.com/containerd/containerd/oci"
39+
"github.com/containerd/containerd/sys"
40+
exec "golang.org/x/sys/execabs"
4041
)
4142

4243
var (

contrib/fuzz/containerd_import_fuzzer.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ package fuzz
1818
import (
1919
"bytes"
2020
"context"
21+
"sync"
22+
"time"
2123

2224
fuzz "github.com/AdaLogics/go-fuzz-headers"
2325

@@ -33,7 +35,11 @@ const (
3335
defaultAddress = "/tmp/containerd/containerd.sock"
3436
)
3537

36-
func init() {
38+
var (
39+
initDaemon sync.Once
40+
)
41+
42+
func startDaemon() {
3743
args := []string{"--log-level", "debug"}
3844
go func() {
3945
// This is similar to invoking the
@@ -42,6 +48,7 @@ func init() {
4248
// for more info.
4349
command.StartDaemonForFuzzing(args)
4450
}()
51+
time.Sleep(time.Second * 4)
4552
}
4653

4754
func fuzzContext() (context.Context, context.CancelFunc) {
@@ -51,6 +58,8 @@ func fuzzContext() (context.Context, context.CancelFunc) {
5158
}
5259

5360
func FuzzContainerdImport(data []byte) int {
61+
initDaemon.Do(startDaemon)
62+
5463
client, err := containerd.New(defaultAddress)
5564
if err != nil {
5665
return 0

0 commit comments

Comments
 (0)