Skip to content

Commit f9ed3ac

Browse files
committed
aesio: specify writable buffers for destination buffers
When calling `AES.decrypt_into()` or `AES.encrypt_into()`, the destination buffers may be any buffer kind. However, we currently aren't checking to make sure the destination buffer is actually writable. Specify `MP_BUFFER_WRITE` for the destination buffers of both of these objects so we don't inadvertently write to immutable data. Signed-off-by: Sean Cross <[email protected]>
1 parent aba36e4 commit f9ed3ac

File tree

1 file changed

+2
-2
lines changed
  • shared-bindings/aesio

1 file changed

+2
-2
lines changed

shared-bindings/aesio/aes.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ STATIC mp_obj_t aesio_aes_encrypt_into(mp_obj_t aesio_obj, mp_obj_t src,
173173

174174
mp_buffer_info_t srcbufinfo, destbufinfo;
175175
mp_get_buffer_raise(src, &srcbufinfo, MP_BUFFER_READ);
176-
mp_get_buffer_raise(dest, &destbufinfo, MP_BUFFER_READ);
176+
mp_get_buffer_raise(dest, &destbufinfo, MP_BUFFER_WRITE);
177177
validate_length(aes, srcbufinfo.len, destbufinfo.len);
178178

179179
memcpy(destbufinfo.buf, srcbufinfo.buf, srcbufinfo.len);
@@ -203,7 +203,7 @@ STATIC mp_obj_t aesio_aes_decrypt_into(mp_obj_t aesio_obj, mp_obj_t src,
203203

204204
mp_buffer_info_t srcbufinfo, destbufinfo;
205205
mp_get_buffer_raise(src, &srcbufinfo, MP_BUFFER_READ);
206-
mp_get_buffer_raise(dest, &destbufinfo, MP_BUFFER_READ);
206+
mp_get_buffer_raise(dest, &destbufinfo, MP_BUFFER_WRITE);
207207
validate_length(aes, srcbufinfo.len, destbufinfo.len);
208208

209209
memcpy(destbufinfo.buf, srcbufinfo.buf, srcbufinfo.len);

0 commit comments

Comments
 (0)