pkg/crypto: Don't modify ciphertext in place.

mmmkay?
This commit is contained in:
Bobby Rullo 2015-08-25 16:43:48 -07:00
parent 0feb1dd719
commit 93f4ae2ba6

View file

@ -84,11 +84,13 @@ func AESDecrypt(ciphertext, key []byte) ([]byte, error) {
}
mode := cipher.NewCBCDecrypter(block, iv)
mode.CryptBlocks(ciphertext, ciphertext)
if len(ciphertext)%aes.BlockSize != 0 {
plaintext := make([]byte, len(ciphertext))
mode.CryptBlocks(plaintext, ciphertext)
if len(plaintext)%aes.BlockSize != 0 {
return nil, errors.New("ciphertext is not a multiple of the block size")
}
return unpad(ciphertext)
return unpad(plaintext)
}