Fix a bunch of unhandled errors (#1501)
...as discovered by "gosec" (many other ones reported, but not all make a lot of sense to fix). Signed-off-by: Julius Volz <julius.volz@gmail.com>
This commit is contained in:
parent
216aa785b0
commit
6d0edbe630
|
@ -59,8 +59,8 @@ func init() {
|
|||
numReceivedAlerts.WithLabelValues("firing")
|
||||
numReceivedAlerts.WithLabelValues("resolved")
|
||||
|
||||
prometheus.Register(numReceivedAlerts)
|
||||
prometheus.Register(numInvalidAlerts)
|
||||
prometheus.MustRegister(numReceivedAlerts)
|
||||
prometheus.MustRegister(numInvalidAlerts)
|
||||
}
|
||||
|
||||
var corsHeaders = map[string]string{
|
||||
|
|
|
@ -49,7 +49,10 @@ func (c *checkConfigCmd) checkConfig(ctx *kingpin.ParseContext) error {
|
|||
|
||||
func CheckConfig(args []string) error {
|
||||
if len(args) == 0 {
|
||||
stat, _ := os.Stdin.Stat()
|
||||
stat, err := os.Stdin.Stat()
|
||||
if err != nil {
|
||||
kingpin.Fatalf("Failed to stat standard input: %v", err)
|
||||
}
|
||||
if (stat.Mode() & os.ModeCharDevice) != 0 {
|
||||
kingpin.Fatalf("Failed to read from standard input")
|
||||
}
|
||||
|
|
|
@ -54,8 +54,7 @@ func (formatter *ExtendedFormatter) FormatSilences(silences []types.Silence) err
|
|||
silence.Comment,
|
||||
)
|
||||
}
|
||||
w.Flush()
|
||||
return nil
|
||||
return w.Flush()
|
||||
}
|
||||
|
||||
func (formatter *ExtendedFormatter) FormatAlerts(alerts []*client.ExtendedAlert) error {
|
||||
|
@ -73,8 +72,7 @@ func (formatter *ExtendedFormatter) FormatAlerts(alerts []*client.ExtendedAlert)
|
|||
alert.GeneratorURL,
|
||||
)
|
||||
}
|
||||
w.Flush()
|
||||
return nil
|
||||
return w.Flush()
|
||||
}
|
||||
|
||||
func (formatter *ExtendedFormatter) FormatConfig(status *client.ServerStatus) error {
|
||||
|
|
|
@ -52,8 +52,7 @@ func (formatter *SimpleFormatter) FormatSilences(silences []types.Silence) error
|
|||
silence.Comment,
|
||||
)
|
||||
}
|
||||
w.Flush()
|
||||
return nil
|
||||
return w.Flush()
|
||||
}
|
||||
|
||||
func (formatter *SimpleFormatter) FormatAlerts(alerts []*client.ExtendedAlert) error {
|
||||
|
@ -69,8 +68,7 @@ func (formatter *SimpleFormatter) FormatAlerts(alerts []*client.ExtendedAlert) e
|
|||
alert.Annotations["summary"],
|
||||
)
|
||||
}
|
||||
w.Flush()
|
||||
return nil
|
||||
return w.Flush()
|
||||
}
|
||||
|
||||
func (formatter *SimpleFormatter) FormatConfig(status *client.ServerStatus) error {
|
||||
|
|
|
@ -148,7 +148,9 @@ func (c *silenceQueryCmd) query(ctx context.Context, _ *kingpin.ParseContext) er
|
|||
if !found {
|
||||
return errors.New("unknown output formatter")
|
||||
}
|
||||
formatter.FormatSilences(displaySilences)
|
||||
if err := formatter.FormatSilences(displaySilences); err != nil {
|
||||
return fmt.Errorf("error formatting silences: %v", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -118,7 +118,9 @@ func (c *silenceUpdateCmd) update(ctx context.Context, _ *kingpin.ParseContext)
|
|||
if !found {
|
||||
return fmt.Errorf("unknown output formatter")
|
||||
}
|
||||
formatter.FormatSilences(updatedSilences)
|
||||
if err := formatter.FormatSilences(updatedSilences); err != nil {
|
||||
return fmt.Errorf("error formatting silences: %v", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -138,7 +138,10 @@ type httpStatusAPI struct {
|
|||
func (h *httpStatusAPI) Get(ctx context.Context) (*ServerStatus, error) {
|
||||
u := h.client.URL(epStatus, nil)
|
||||
|
||||
req, _ := http.NewRequest(http.MethodGet, u.String(), nil)
|
||||
req, err := http.NewRequest(http.MethodGet, u.String(), nil)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error creating request: %v", err)
|
||||
}
|
||||
|
||||
_, body, err := h.client.Do(ctx, req)
|
||||
if err != nil {
|
||||
|
@ -207,7 +210,10 @@ func (h *httpAlertAPI) List(ctx context.Context, filter, receiver string, silenc
|
|||
params.Add("receiver", receiver)
|
||||
u.RawQuery = params.Encode()
|
||||
|
||||
req, _ := http.NewRequest(http.MethodGet, u.String(), nil)
|
||||
req, err := http.NewRequest(http.MethodGet, u.String(), nil)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error creating request: %v", err)
|
||||
}
|
||||
|
||||
_, body, err := h.client.Do(ctx, req)
|
||||
if err != nil {
|
||||
|
@ -228,9 +234,12 @@ func (h *httpAlertAPI) Push(ctx context.Context, alerts ...Alert) error {
|
|||
return err
|
||||
}
|
||||
|
||||
req, _ := http.NewRequest(http.MethodPost, u.String(), &buf)
|
||||
req, err := http.NewRequest(http.MethodPost, u.String(), &buf)
|
||||
if err != nil {
|
||||
return fmt.Errorf("error creating request: %v", err)
|
||||
}
|
||||
|
||||
_, _, err := h.client.Do(ctx, req)
|
||||
_, _, err = h.client.Do(ctx, req)
|
||||
return err
|
||||
}
|
||||
|
||||
|
@ -260,7 +269,10 @@ func (h *httpSilenceAPI) Get(ctx context.Context, id string) (*types.Silence, er
|
|||
"id": id,
|
||||
})
|
||||
|
||||
req, _ := http.NewRequest(http.MethodGet, u.String(), nil)
|
||||
req, err := http.NewRequest(http.MethodGet, u.String(), nil)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error creating request: %v", err)
|
||||
}
|
||||
|
||||
_, body, err := h.client.Do(ctx, req)
|
||||
if err != nil {
|
||||
|
@ -278,9 +290,12 @@ func (h *httpSilenceAPI) Expire(ctx context.Context, id string) error {
|
|||
"id": id,
|
||||
})
|
||||
|
||||
req, _ := http.NewRequest(http.MethodDelete, u.String(), nil)
|
||||
req, err := http.NewRequest(http.MethodDelete, u.String(), nil)
|
||||
if err != nil {
|
||||
return fmt.Errorf("error creating request: %v", err)
|
||||
}
|
||||
|
||||
_, _, err := h.client.Do(ctx, req)
|
||||
_, _, err = h.client.Do(ctx, req)
|
||||
return err
|
||||
}
|
||||
|
||||
|
@ -292,7 +307,10 @@ func (h *httpSilenceAPI) Set(ctx context.Context, sil types.Silence) (string, er
|
|||
return "", err
|
||||
}
|
||||
|
||||
req, _ := http.NewRequest(http.MethodPost, u.String(), &buf)
|
||||
req, err := http.NewRequest(http.MethodPost, u.String(), &buf)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("error creating request: %v", err)
|
||||
}
|
||||
|
||||
_, body, err := h.client.Do(ctx, req)
|
||||
if err != nil {
|
||||
|
@ -315,7 +333,10 @@ func (h *httpSilenceAPI) List(ctx context.Context, filter string) ([]*types.Sile
|
|||
}
|
||||
u.RawQuery = params.Encode()
|
||||
|
||||
req, _ := http.NewRequest(http.MethodGet, u.String(), nil)
|
||||
req, err := http.NewRequest(http.MethodGet, u.String(), nil)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error creating request: %v", err)
|
||||
}
|
||||
|
||||
_, body, err := h.client.Do(ctx, req)
|
||||
if err != nil {
|
||||
|
|
|
@ -267,7 +267,9 @@ func main() {
|
|||
ctx, cancel := context.WithTimeout(context.Background(), *settleTimeout)
|
||||
defer func() {
|
||||
cancel()
|
||||
peer.Leave(10 * time.Second)
|
||||
if err := peer.Leave(10 * time.Second); err != nil {
|
||||
level.Warn(logger).Log("msg", "unable to leave gossip mesh", "err", err)
|
||||
}
|
||||
}()
|
||||
go peer.Settle(ctx, *gossipInterval*10)
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ import (
|
|||
)
|
||||
|
||||
func main() {
|
||||
http.ListenAndServe(":5001", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
log.Fatal(http.ListenAndServe(":5001", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
b, err := ioutil.ReadAll(r.Body)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
@ -33,5 +33,5 @@ func main() {
|
|||
panic(err)
|
||||
}
|
||||
log.Println(buf.String())
|
||||
}))
|
||||
})))
|
||||
}
|
||||
|
|
|
@ -116,7 +116,9 @@ func (ih *Inhibitor) Run() {
|
|||
runCancel()
|
||||
})
|
||||
|
||||
g.Run()
|
||||
if err := g.Run(); err != nil {
|
||||
level.Warn(ih.logger).Log("msg", "error running inhibitor", "err", err)
|
||||
}
|
||||
}
|
||||
|
||||
// Stop the Inhibitor's background processing.
|
||||
|
|
|
@ -989,7 +989,10 @@ func (n *Wechat) Notify(ctx context.Context, as ...*types.Alert) (bool, error) {
|
|||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
body, _ := ioutil.ReadAll(resp.Body)
|
||||
body, err := ioutil.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
return true, err
|
||||
}
|
||||
level.Debug(n.logger).Log("msg", "response: "+string(body), "incident", key)
|
||||
|
||||
if resp.StatusCode != 200 {
|
||||
|
|
|
@ -86,9 +86,9 @@ func init() {
|
|||
notificationLatencySeconds.WithLabelValues("webhook")
|
||||
notificationLatencySeconds.WithLabelValues("victorops")
|
||||
|
||||
prometheus.Register(numNotifications)
|
||||
prometheus.Register(numFailedNotifications)
|
||||
prometheus.Register(notificationLatencySeconds)
|
||||
prometheus.MustRegister(numNotifications)
|
||||
prometheus.MustRegister(numFailedNotifications)
|
||||
prometheus.MustRegister(notificationLatencySeconds)
|
||||
}
|
||||
|
||||
type notifierConfig interface {
|
||||
|
|
|
@ -301,16 +301,22 @@ func (am *Alertmanager) Start() {
|
|||
// Terminate kills the underlying Alertmanager process and remove intermediate
|
||||
// data.
|
||||
func (am *Alertmanager) Terminate() {
|
||||
syscall.Kill(am.cmd.Process.Pid, syscall.SIGTERM)
|
||||
if err := syscall.Kill(am.cmd.Process.Pid, syscall.SIGTERM); err != nil {
|
||||
am.t.Fatalf("Error sending SIGTERM to Alertmanager process: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
// Reload sends the reloading signal to the Alertmanager process.
|
||||
func (am *Alertmanager) Reload() {
|
||||
syscall.Kill(am.cmd.Process.Pid, syscall.SIGHUP)
|
||||
if err := syscall.Kill(am.cmd.Process.Pid, syscall.SIGHUP); err != nil {
|
||||
am.t.Fatalf("Error sending SIGHUP to Alertmanager process: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func (am *Alertmanager) cleanup() {
|
||||
os.RemoveAll(am.confFile.Name())
|
||||
if err := os.RemoveAll(am.confFile.Name()); err != nil {
|
||||
am.t.Errorf("Error removing test config file %q: %v", am.confFile.Name(), err)
|
||||
}
|
||||
}
|
||||
|
||||
// Push declares alerts that are to be pushed to the Alertmanager
|
||||
|
|
Loading…
Reference in New Issue