Ahmed Abdrabo
|
e50ae8ff9d
|
Avoid crashing while logging if err is nil
There are many places in the code like:
`if err != nil || statusCode != 200 { ... }`
which cause runtime errors because err can be nil then err.Error() is
invoked.
Examples of stacktraces:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0xb2b9ae]
goroutine 140743 [running]:
github.com/bmc-toolbox/bmclib/providers/hp/ilo.(*Ilo).User(0xc004e56480, 0xc000112580, 0x3, 0x3, 0x1, 0xc005464c30)
bmcbutler/vendor/github.com/bmc-toolbox/bmclib/providers/hp/ilo/configure.go:205 +0xa6e
github.com/bmc-toolbox/bmcbutler/pkg/butler/configure.(*Bmc).Apply(0xc00617f540)
---
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0xb3007b]
goroutine 29007 [running]:
github.com/bmc-toolbox/bmclib/providers/hp/ilo.(*Ilo).Ntp(0xc0068ca000, 0xc004246c80, 0xc005820398, 0x1)
bmcbutler/vendor/github.com/bmc-toolbox/bmclib/providers/hp/ilo/configure.go:433 +0xe7b
github.com/bmc-toolbox/bmcbutler/pkg/butler/configure.(*Bmc).Apply(0xc0001dba40)
---
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0xb2d1b5]
goroutine 511214 [running]:
github.com/bmc-toolbox/bmclib/providers/hp/ilo.(*Ilo).Syslog(0xc001d46180, 0xc0005f8700, 0xc0008c4398, 0x1)
bmcbutler/vendor/github.com/bmc-toolbox/bmclib/providers/hp/ilo/configure.go:279 +0x795
github.com/bmc-toolbox/bmcbutler/pkg/butler/configure.(*Bmc).Apply(0xc0007685a0)
|
2020-11-24 17:40:39 +01:00 |
|