diff --git a/x86/aes-decrypt-internal.asm b/x86/aes-decrypt-internal.asm index ff94fa8f993ca0db48474a2dcfb954ba6e031609..dffad28223292a248c884fd6f517fac3e8445711 100644 --- a/x86/aes-decrypt-internal.asm +++ b/x86/aes-decrypt-internal.asm @@ -72,6 +72,8 @@ PROLOGUE(_nettle_aes_decrypt) testl %ebp,%ebp jz .Lend + shrl $4, FRAME_LENGTH + .Lblock_loop: movl FRAME_CTX,KEY C address of context struct ctx C get number of rounds to do from ctx struct @@ -150,10 +152,8 @@ PROLOGUE(_nettle_aes_decrypt) AES_STORE(SA,SB,SC,SD, KEY, TMP) addl $16, FRAME_DST C Increment destination pointer - subl $16, FRAME_LENGTH C Length + decl FRAME_LENGTH - C NOTE: Will loop forever if input data is not an - C integer number of blocks. jnz .Lblock_loop .Lend: diff --git a/x86/aes-encrypt-internal.asm b/x86/aes-encrypt-internal.asm index dc573948e511b53ac4adfbbb375df2b60ff0eb7e..a651785156ffc6eb762225177aa65593fb0967c3 100644 --- a/x86/aes-encrypt-internal.asm +++ b/x86/aes-encrypt-internal.asm @@ -72,6 +72,7 @@ PROLOGUE(_nettle_aes_encrypt) testl %ebp,%ebp jz .Lend + shrl $4, FRAME_LENGTH .Lblock_loop: movl FRAME_CTX,KEY C address of context struct ctx C get number of rounds to do from ctx struct @@ -150,10 +151,8 @@ PROLOGUE(_nettle_aes_encrypt) AES_STORE(SA,SB,SC,SD, KEY, TMP) addl $16, FRAME_DST C Increment destination pointer - subl $16, FRAME_LENGTH C Length + decl FRAME_LENGTH C Length - C NOTE: Will loop forever if input data is not an - C integer number of blocks. jnz .Lblock_loop .Lend: