diff options
author | sina <sina@snix.ir> | 2022-07-30 19:01:05 +0430 |
---|---|---|
committer | sina <sina@snix.ir> | 2022-07-30 19:01:05 +0430 |
commit | e697fd436cabccb32114ebb74d1de9b9516dead3 (patch) | |
tree | e25f2719602779da65d8874b178fae7396c8f6e3 /rabbit.go | |
parent | f3dc60d49043cdf866c69a5df8bfe665a81e874b (diff) |
panics and overlap
Diffstat (limited to 'rabbit.go')
-rw-r--r-- | rabbit.go | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -136,6 +136,15 @@ func (r *rabbitCipher) extract() { // XORKeyStream read from src and perform xor on every elemnt of src and // write result on dst func (r *rabbitCipher) XORKeyStream(dst, src []byte) { + + if len(dst) < len(src) { + panic("rabbitio: output smaller than input") + } + + if InexactOverlap(dst, src) { + panic("rabbitio: invalid buffer memory overlap") + } + for i := range src { if len(r.ks) == 0x00 { r.extract() |