@@ -103,9 +103,10 @@ STATIC mp_obj_t aesio_aes_make_new(const mp_obj_type_t *type, size_t n_args,
103
103
STATIC mp_obj_t aesio_aes_rekey (size_t n_args , const mp_obj_t * pos_args ) {
104
104
aesio_aes_obj_t * self = MP_OBJ_TO_PTR (pos_args [0 ]);
105
105
106
- size_t key_length = 0 ;
107
- const uint8_t * key =
108
- (const uint8_t * )mp_obj_str_get_data (pos_args [1 ], & key_length );
106
+ mp_buffer_info_t bufinfo ;
107
+ mp_get_buffer_raise (pos_args [1 ], & bufinfo , MP_BUFFER_READ );
108
+ const uint8_t * key = bufinfo .buf ;
109
+ size_t key_length = bufinfo .len ;
109
110
if (key == NULL ) {
110
111
mp_raise_ValueError (translate ("No key was specified" ));
111
112
}
@@ -115,8 +116,9 @@ STATIC mp_obj_t aesio_aes_rekey(size_t n_args, const mp_obj_t *pos_args) {
115
116
116
117
const uint8_t * iv = NULL ;
117
118
if (n_args > 2 ) {
118
- size_t iv_length = 0 ;
119
- iv = (const uint8_t * )mp_obj_str_get_data (pos_args [2 ], & iv_length );
119
+ mp_get_buffer_raise (pos_args [2 ], & bufinfo , MP_BUFFER_READ );
120
+ size_t iv_length = bufinfo .len ;
121
+ iv = (const uint8_t * )bufinfo .buf ;
120
122
if (iv_length != AES_BLOCKLEN ) {
121
123
mp_raise_TypeError_varg (translate ("IV must be %d bytes long" ),
122
124
AES_BLOCKLEN );
@@ -171,7 +173,7 @@ STATIC mp_obj_t aesio_aes_encrypt_into(mp_obj_t aesio_obj, mp_obj_t src,
171
173
172
174
mp_buffer_info_t srcbufinfo , destbufinfo ;
173
175
mp_get_buffer_raise (src , & srcbufinfo , MP_BUFFER_READ );
174
- mp_get_buffer_raise (dest , & destbufinfo , MP_BUFFER_READ );
176
+ mp_get_buffer_raise (dest , & destbufinfo , MP_BUFFER_WRITE );
175
177
validate_length (aes , srcbufinfo .len , destbufinfo .len );
176
178
177
179
memcpy (destbufinfo .buf , srcbufinfo .buf , srcbufinfo .len );
@@ -201,7 +203,7 @@ STATIC mp_obj_t aesio_aes_decrypt_into(mp_obj_t aesio_obj, mp_obj_t src,
201
203
202
204
mp_buffer_info_t srcbufinfo , destbufinfo ;
203
205
mp_get_buffer_raise (src , & srcbufinfo , MP_BUFFER_READ );
204
- mp_get_buffer_raise (dest , & destbufinfo , MP_BUFFER_READ );
206
+ mp_get_buffer_raise (dest , & destbufinfo , MP_BUFFER_WRITE );
205
207
validate_length (aes , srcbufinfo .len , destbufinfo .len );
206
208
207
209
memcpy (destbufinfo .buf , srcbufinfo .buf , srcbufinfo .len );
@@ -246,11 +248,8 @@ MP_DEFINE_CONST_FUN_OBJ_2(aesio_aes_set_mode_obj, aesio_aes_set_mode);
246
248
247
249
const mp_obj_property_t aesio_aes_mode_obj = {
248
250
.base .type = & mp_type_property ,
249
- .proxy = {
250
- (mp_obj_t )& aesio_aes_get_mode_obj ,
251
- (mp_obj_t )& aesio_aes_set_mode_obj ,
252
- (mp_obj_t )& mp_const_none_obj
253
- },
251
+ .proxy = {(mp_obj_t )& aesio_aes_get_mode_obj ,
252
+ (mp_obj_t )& aesio_aes_set_mode_obj , (mp_obj_t )& mp_const_none_obj },
254
253
};
255
254
256
255
STATIC const mp_rom_map_elem_t aesio_locals_dict_table [] = {
0 commit comments