Closed adamdecaf closed 2 years ago
From Andrew Hamilton in slack,
If using the Audit config, newBlobStorage will happily skip over setting the GPG fields if the config is not there, but blobStorage.SaveFile doesn’t confirm the cryptor is non-nil before attempting to disfigure it, leading to a panic
achgateway_1 | panic: runtime error: invalid memory address or nil pointer dereference achgateway_1 | [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xa192e2] achgateway_1 | achgateway_1 | goroutine 120 [running]: achgateway_1 | github.com/moov-io/cryptfs.(*FS).Disfigure(0x0, {0xc00027ec00?, 0xc00074a360?, 0x5e?}) achgateway_1 | /src/vendor/github.com/moov-io/cryptfs/cryptfs.go:85 +0x22 achgateway_1 | github.com/moov-io/achgateway/internal/audittrail.(*blobStorage).SaveFile(0xc00071c480, {0xc0004c18c0, 0x36}, {0xc00027ec00?, 0x4?, 0x1?}) achgateway_1 | /src/internal/audittrail/storage_blob.go:62 +0x5e achgateway_1 | github.com/moov-io/achgateway/internal/incoming/odfi.(*AuditSaver).save(...) achgateway_1 | /src/internal/incoming/odfi/audit.go:39 achgateway_1 | github.com/moov-io/achgateway/internal/incoming/odfi.process({0xc00021f740, 0x22}, 0xc00071c4a0, {0xc0000a2940, 0x3, 0x4}) achgateway_1 | /src/internal/incoming/odfi/processor.go:130 +0x71a achgateway_1 | github.com/moov-io/achgateway/internal/incoming/odfi.ProcessFiles(0xc000724350, 0x8?, {0xc0000a2940, 0x3, 0x4}) achgateway_1 | /src/internal/incoming/odfi/processor.go:90 +0x1e5 achgateway_1 | github.com/moov-io/achgateway/internal/incoming/odfi.(*PeriodicScheduler).tick(0xc00017d8c0, 0x16e2b85?) achgateway_1 | /src/internal/incoming/odfi/scheduler.go:172 +0x307 achgateway_1 | github.com/moov-io/achgateway/internal/incoming/odfi.(*PeriodicScheduler).tickAll(0xc00017d8c0) achgateway_1 | /src/internal/incoming/odfi/scheduler.go:139 +0x4e5 achgateway_1 | github.com/moov-io/achgateway/internal/incoming/odfi.(*PeriodicScheduler).Start(0xc00017d8c0) achgateway_1 | /src/internal/incoming/odfi/scheduler.go:104 +0xf9 achgateway_1 | github.com/moov-io/achgateway/internal.NewEnvironment.func5() achgateway_1 | /src/internal/environment.go:215 +0x32 achgateway_1 | created by github.com/moov-io/achgateway/internal.NewEnvironment achgateway_1 | /src/internal/environment.go:214 +0x148a ftp_1 | 2022/06/15 17:09:29 a1985a83d4f35936e07a Connection Terminated
From Andrew Hamilton in slack,