浏览代码

BurstObservatory: Fix nil panic when pingConfig is missing (#4757)

Fixes https://github.com/XTLS/Xray-core/issues/4756
风扇滑翔翼 4 月之前
父节点
当前提交
462bc3cfba
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      infra/conf/observatory.go

+ 4 - 0
infra/conf/observatory.go

@@ -5,6 +5,7 @@ import (
 
 	"github.com/xtls/xray-core/app/observatory"
 	"github.com/xtls/xray-core/app/observatory/burst"
+	"github.com/xtls/xray-core/common/errors"
 	"github.com/xtls/xray-core/infra/conf/cfgcommon/duration"
 )
 
@@ -26,6 +27,9 @@ type BurstObservatoryConfig struct {
 }
 
 func (b BurstObservatoryConfig) Build() (proto.Message, error) {
+	if b.HealthCheck == nil {
+		return nil, errors.New("BurstObservatory requires a valid pingConfig")
+	}
 	if result, err := b.HealthCheck.Build(); err == nil {
 		return &burst.Config{SubjectSelector: b.SubjectSelector, PingConfig: result.(*burst.HealthPingConfig)}, nil
 	} else {