Browse Source

ltq-deu: fix aes initialization vector handling

This fix is a backport from the lantiq UGW-6.1.1-MR1

Signed-off-by: Martin Schiller <[email protected]>
Martin Schiller 9 years ago
parent
commit
8dba24cfc2
1 changed files with 4 additions and 4 deletions
  1. 4 4
      package/kernel/lantiq/ltq-deu/src/ifxmips_aes.c

+ 4 - 4
package/kernel/lantiq/ltq-deu/src/ifxmips_aes.c

@@ -252,10 +252,10 @@ void ifx_deu_aes (void *ctx_arg, u8 *out_arg, const u8 *in_arg,
 
 
     //tc.chen : copy iv_arg back
     //tc.chen : copy iv_arg back
     if (mode > 0) {
     if (mode > 0) {
-        *((u32 *) iv_arg) = DEU_ENDIAN_SWAP(*((u32 *) iv_arg));
-        *((u32 *) iv_arg + 1) = DEU_ENDIAN_SWAP(*((u32 *) iv_arg + 1));             
-        *((u32 *) iv_arg + 2) = DEU_ENDIAN_SWAP(*((u32 *) iv_arg + 2));             
-        *((u32 *) iv_arg + 3) = DEU_ENDIAN_SWAP(*((u32 *) iv_arg + 3));              
+        *((u32 *) iv_arg) = DEU_ENDIAN_SWAP(aes->IV3R);
+        *((u32 *) iv_arg + 1) = DEU_ENDIAN_SWAP(aes->IV2R);
+        *((u32 *) iv_arg + 2) = DEU_ENDIAN_SWAP(aes->IV1R);
+        *((u32 *) iv_arg + 3) = DEU_ENDIAN_SWAP(aes->IV0R);
     }
     }
 
 
     CRTCL_SECT_END;
     CRTCL_SECT_END;