remove unnecessary argument to the psa_aead_unpadded_locate_tag function
diff --git a/library/psa_crypto.c b/library/psa_crypto.c
index 8cf0df4..c5001f9 100755
--- a/library/psa_crypto.c
+++ b/library/psa_crypto.c
@@ -953,7 +953,7 @@
             return( NULL );
     }
     if( cipher_id != NULL )
-        *cipher_id == cipher_id_tmp;
+        *cipher_id = cipher_id_tmp;
 
     return( mbedtls_cipher_info_from_values( cipher_id_tmp, key_bits, mode ) );
 }
@@ -1595,7 +1595,6 @@
                                                   const uint8_t *ciphertext,
                                                   size_t ciphertext_length,
                                                   size_t plaintext_size,
-                                                  size_t *plaintext_length,
                                                   const uint8_t **p_tag )
 {
     size_t payload_length;
@@ -1605,7 +1604,6 @@
     if( payload_length > plaintext_size )
         return( PSA_ERROR_BUFFER_TOO_SMALL );
     *p_tag = ciphertext + payload_length;
-    *plaintext_length = payload_length;
     return( PSA_SUCCESS );
 }
 
@@ -1654,8 +1652,7 @@
         tag_length = 16;
         status = psa_aead_unpadded_locate_tag( tag_length,
                                                ciphertext, ciphertext_length,
-                                               plaintext_size, plaintext_length,
-                                               &tag );
+                                               plaintext_size, &tag );
         if( status != PSA_SUCCESS )
             return( status );
 
@@ -1669,7 +1666,7 @@
         }
 
         ret = mbedtls_gcm_auth_decrypt( &gcm,
-                                        *plaintext_length,
+                                        ciphertext_length - tag_length,
                                         nonce, nonce_length,
                                         additional_data, additional_data_length,
                                         tag, tag_length,
@@ -1686,8 +1683,7 @@
         tag_length = 16;
         status = psa_aead_unpadded_locate_tag( tag_length,
                                                ciphertext, ciphertext_length,
-                                               plaintext_size, plaintext_length,
-                                               &tag );
+                                               plaintext_size, &tag );
         if( status != PSA_SUCCESS )
             return( status );
 
@@ -1699,7 +1695,7 @@
             mbedtls_ccm_free( &ccm );
             return( mbedtls_to_psa_error( ret ) );
         }
-        ret = mbedtls_ccm_auth_decrypt( &ccm, *plaintext_length,
+        ret = mbedtls_ccm_auth_decrypt( &ccm, ciphertext_length - tag_length,
                                         nonce, nonce_length,
                                         additional_data, additional_data_length,
                                         ciphertext, plaintext,
@@ -1712,10 +1708,10 @@
     }
 
     if( ret != 0 )
-    {
-        memset( plaintext, 0, *plaintext_length );
-        *plaintext_length = 0;
-    }
+        memset( plaintext, 0, plaintext_size );
+    else
+        *plaintext_length = ciphertext_length - tag_length;
+
     return( mbedtls_to_psa_error( ret ) );
 }