Telegram: Check error before adding defer close of image (#20331)

Properly handles file opening error and returns before deferring 
close of file.

Fixes #20156
This commit is contained in:
Marcus Efraimsson 2019-11-13 13:33:03 +01:00 committed by GitHub
parent 9e0499000c
commit 5b42bb58f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -137,6 +137,10 @@ func (tn *TelegramNotifier) buildMessageInlineImage(evalContext *alerting.EvalCo
var err error var err error
imageFile, err = os.Open(evalContext.ImageOnDiskPath) imageFile, err = os.Open(evalContext.ImageOnDiskPath)
if err != nil {
return nil, err
}
defer func() { defer func() {
err := imageFile.Close() err := imageFile.Close()
if err != nil { if err != nil {
@ -144,10 +148,6 @@ func (tn *TelegramNotifier) buildMessageInlineImage(evalContext *alerting.EvalCo
} }
}() }()
if err != nil {
return nil, err
}
ruleURL, err := evalContext.GetRuleURL() ruleURL, err := evalContext.GetRuleURL()
if err != nil { if err != nil {
return nil, err return nil, err