GCM in the cipher layer, step 1
- no support for additional data
- no support for tag
diff --git a/library/gcm.c b/library/gcm.c
index 3e9969d..9c079bd 100644
--- a/library/gcm.c
+++ b/library/gcm.c
@@ -293,11 +293,11 @@
uint64_t orig_len = ctx->len * 8;
uint64_t orig_add_len = ctx->add_len * 8;
- memcpy( tag, ctx->base_ectr, tag_len );
-
if( tag_len > 16 )
return( POLARSSL_ERR_GCM_BAD_INPUT );
+ memcpy( tag, ctx->base_ectr, tag_len );
+
if( orig_len || orig_add_len )
{
memset( work_buf, 0x00, 16 );