From 3b1cf73165afbc61e8eec93afcdffde7bffdba98 Mon Sep 17 00:00:00 2001 From: Moritz Poldrack Date: Sun, 28 Jan 2024 11:36:11 +0100 Subject: [PATCH] Fix crash on start when file-upload is disabled When started without specifying a fileupload backend, soju crashes because of a nil-pointer deref. panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x9484bd] goroutine 1 [running]: main.loadConfig() git.sr.ht/~emersion/soju/cmd/soju/main.go:94 +0x51d main.main() git.sr.ht/~emersion/soju/cmd/soju/main.go:127 +0x165 panic: runtime error: invalid memory address or nil pointer dereference Add a guardclause preventing that crash. Signed-off-by: Moritz Poldrack --- cmd/soju/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/soju/main.go b/cmd/soju/main.go index ebb9f0e..7dfed44 100644 --- a/cmd/soju/main.go +++ b/cmd/soju/main.go @@ -91,7 +91,7 @@ func loadConfig() (*config.Server, *soju.Config, error) { } var fileUploader fileupload.Uploader - if raw.FileUpload.Driver != "" { + if raw.FileUpload != nil { fileUploader, err = fileupload.New(raw.FileUpload.Driver, raw.FileUpload.Source) if err != nil { return nil, nil, fmt.Errorf("failed to create file uploader: %v", err)