Prechádzať zdrojové kódy

Catch overflow when incrementing dst pointer.

Nigel Tao 9 rokov pred
rodič
commit
6ad2a85e2f
1 zmenil súbory, kde vykonal 2 pridanie a 3 odobranie
  1. 2 3
      decode.go

+ 2 - 3
decode.go

@@ -121,11 +121,10 @@ func Decode(dst, src []byte) ([]byte, error) {
 			return nil, errUnsupportedCopy4Tag
 		}
 
-		end := d + length
-		if offset > d || end > len(dst) {
+		if offset > d || length > len(dst)-d {
 			return nil, ErrCorrupt
 		}
-		for ; d < end; d++ {
+		for end := d + length; d != end; d++ {
 			dst[d] = dst[d-offset]
 		}
 	}