mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-30 17:53:21 -04:00 
			
		
		
		
	fix(cache): data race when updating the TTL of cached messages (#7397)
This commit is contained in:
		
							
								
								
									
										6
									
								
								plugin/cache/dnssec.go
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								plugin/cache/dnssec.go
									
									
									
									
										vendored
									
									
								
							| @@ -3,8 +3,8 @@ package cache | ||||
| import "github.com/miekg/dns" | ||||
|  | ||||
| // filterRRSlice filters out OPT RRs, and sets all RR TTLs to ttl. | ||||
| // If dup is true the RRs in rrs are _copied_ into the slice that is | ||||
| // returned. | ||||
| // If dup is true the RRs in rrs are _copied_ before adjusting their | ||||
| // TTL and the slice of copied RRs is returned. | ||||
| func filterRRSlice(rrs []dns.RR, ttl uint32, dup bool) []dns.RR { | ||||
| 	j := 0 | ||||
| 	rs := make([]dns.RR, len(rrs)) | ||||
| @@ -12,12 +12,12 @@ func filterRRSlice(rrs []dns.RR, ttl uint32, dup bool) []dns.RR { | ||||
| 		if r.Header().Rrtype == dns.TypeOPT { | ||||
| 			continue | ||||
| 		} | ||||
| 		r.Header().Ttl = ttl | ||||
| 		if dup { | ||||
| 			rs[j] = dns.Copy(r) | ||||
| 		} else { | ||||
| 			rs[j] = r | ||||
| 		} | ||||
| 		rs[j].Header().Ttl = ttl | ||||
| 		j++ | ||||
| 	} | ||||
| 	return rs[:j] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user