fix: calcMinLatency should skip no latency dialer

This commit is contained in:
mzz2017
2023-02-09 20:54:06 +08:00
parent 8bb88ed20a
commit e3a71d0ee2
2 changed files with 5 additions and 2 deletions

View File

@ -89,7 +89,7 @@ func resolveFile(u *url.URL, configDir string) (b []byte, err error) {
return nil, fmt.Errorf("not support absolute path") return nil, fmt.Errorf("not support absolute path")
} }
/// Relative location. /// Relative location.
// Make sure path safety. // Make sure path is secure.
path := filepath.Join(configDir, u.Host, u.Path) path := filepath.Join(configDir, u.Host, u.Path)
if err = common.IsFileInSubDir(path, configDir); err != nil { if err = common.IsFileInSubDir(path, configDir); err != nil {
return nil, err return nil, err

View File

@ -195,7 +195,10 @@ func (a *AliveDialerSet) NotifyLatencyChange(dialer *Dialer, alive bool) {
func (a *AliveDialerSet) calcMinLatency() { func (a *AliveDialerSet) calcMinLatency() {
for _, d := range a.inorderedAliveDialerSet { for _, d := range a.inorderedAliveDialerSet {
latency := a.dialerToLatency[d] latency, ok := a.dialerToLatency[d]
if !ok {
continue
}
if latency < a.minLatency.latency { if latency < a.minLatency.latency {
a.minLatency.latency = latency a.minLatency.latency = latency
a.minLatency.dialer = d a.minLatency.dialer = d