mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-27 16:24:19 -04:00 
			
		
		
		
	This was found by fuzzing. We need to make this a fully qualified domain name to catch all errors in dnsserver/register.go and not later when plugin.Normalize() is called again on these strings, with the prime difference being that the domain name is fully qualified. This was found by fuzzing where "ȶ" is deemed OK, but "ȶ." is not (might be a bug in miekg/dns actually). But here we were checking ȶ, which is OK, and later we barf in ȶ. leading to "index out of range". Added a tests and check manually if it would crash with the current code (yes), and fail with an error in this PR (yes). Signed-off-by: Miek Gieben <miek@miek.nl>
		
			
				
	
	
		
			18 lines
		
	
	
		
			273 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			273 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package test
 | |
| 
 | |
| import (
 | |
| 	"testing"
 | |
| )
 | |
| 
 | |
| func TestCorefile1(t *testing.T) {
 | |
| 	corefile := `ȶ
 | |
| acl
 | |
| `
 | |
| 	// this crashed, now it should return an error.
 | |
| 	i, _, _, err := CoreDNSServerAndPorts(corefile)
 | |
| 	if err == nil {
 | |
| 		defer i.Stop()
 | |
| 		t.Fatalf("Expected an error got none")
 | |
| 	}
 | |
| }
 |