aquasecurity/libbpfgo

Check type cast results

Offen

#381 geöffnet am 28.09.2023

 (0 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Go (100 Forks)auto 404
good first issue

Repository-Metriken

Stars
 (845 Sterne)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

It's important to check type cast results to avoid panic.

Revive unchecked-type-assertion rule provided this output:

make lint-check
Linting golang code...
Error: rwArray_test.go:74:8: type cast result is unchecked in a.get(uint(i)).(*int) - type assertion will panic if not matched
Error: libbpfgo.go:1254:16: type cast result is unchecked in eventChannels.get(rb.slot).(chan []byte) - type assertion will panic if not matched
Error: helpers/kernel_symbols_test.go:65:11: type cast result is unchecked in syms.(*lazyKernelSymbols) - type assertion will panic if not matched
Error: helpers/kernel_config.go:359:14: type cast result is unchecked in k.configs[option].(KernelConfigOptionValue) - type assertion will panic if not matched
make: *** [Makefile:237: lint-check] Error 1

After solved, unchecked-type-assertion should be re-enabled:

https://github.com/roikol/libbpfgo/blob/2def7dd7296bf450e0cfd188863d303fcab7aab0/.revive.toml#L131-L132

Context: https://github.com/aquasecurity/libbpfgo/pull/380/commits/2def7dd7296bf450e0cfd188863d303fcab7aab0

Contributor Guide