mirror of
				https://github.com/yggdrasil-network/yggdrasil-go.git
				synced 2025-11-04 11:15:07 +03:00 
			
		
		
		
	Fix crash
This commit is contained in:
		
							parent
							
								
									7efd66932f
								
							
						
					
					
						commit
						e824c73e21
					
				
					 1 changed files with 12 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -113,7 +113,9 @@ func (l *links) isConnectedTo(info linkInfo) bool {
 | 
			
		|||
func (l *links) call(u *url.URL, sintf string, errch chan<- error) (info linkInfo, err error) {
 | 
			
		||||
	info = linkInfoFor(u.Scheme, sintf, u.Host)
 | 
			
		||||
	if l.isConnectedTo(info) {
 | 
			
		||||
		close(errch) // already connected, no error
 | 
			
		||||
		if errch != nil {
 | 
			
		||||
			close(errch) // already connected, no error
 | 
			
		||||
		}
 | 
			
		||||
		return info, nil
 | 
			
		||||
	}
 | 
			
		||||
	options := linkOptions{
 | 
			
		||||
| 
						 | 
				
			
			@ -122,7 +124,9 @@ func (l *links) call(u *url.URL, sintf string, errch chan<- error) (info linkInf
 | 
			
		|||
	for _, pubkey := range u.Query()["key"] {
 | 
			
		||||
		sigPub, err := hex.DecodeString(pubkey)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			close(errch)
 | 
			
		||||
			if errch != nil {
 | 
			
		||||
				close(errch)
 | 
			
		||||
			}
 | 
			
		||||
			return info, fmt.Errorf("pinned key contains invalid hex characters")
 | 
			
		||||
		}
 | 
			
		||||
		var sigPubKey keyArray
 | 
			
		||||
| 
						 | 
				
			
			@ -132,7 +136,9 @@ func (l *links) call(u *url.URL, sintf string, errch chan<- error) (info linkInf
 | 
			
		|||
	if p := u.Query().Get("priority"); p != "" {
 | 
			
		||||
		pi, err := strconv.ParseUint(p, 10, 8)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			close(errch)
 | 
			
		||||
			if errch != nil {
 | 
			
		||||
				close(errch)
 | 
			
		||||
			}
 | 
			
		||||
			return info, fmt.Errorf("priority invalid: %w", err)
 | 
			
		||||
		}
 | 
			
		||||
		options.priority = uint8(pi)
 | 
			
		||||
| 
						 | 
				
			
			@ -208,7 +214,9 @@ func (l *links) call(u *url.URL, sintf string, errch chan<- error) (info linkInf
 | 
			
		|||
		}()
 | 
			
		||||
 | 
			
		||||
	default:
 | 
			
		||||
		close(errch)
 | 
			
		||||
		if errch != nil {
 | 
			
		||||
			close(errch)
 | 
			
		||||
		}
 | 
			
		||||
		return info, errors.New("unknown call scheme: " + u.Scheme)
 | 
			
		||||
	}
 | 
			
		||||
	return info, nil
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue