pk_wrap: add a check for equal signature parts

diff --git a/library/pk_wrap.c b/library/pk_wrap.c
index 6007a23..2e22ec9 100644
--- a/library/pk_wrap.c
+++ b/library/pk_wrap.c
@@ -542,10 +542,9 @@
 static int extract_ecdsa_sig( unsigned char **p, const unsigned char *end,
                               mbedtls_asn1_buf *sig )
 {
-    int ret;
-    size_t len_signature;
-    size_t len_partial;
-    int tag_type;
+    int ret, tag_type;
+    size_t len_signature, len_partial;
+
     if( ( end - *p ) < 1 )
     {
         return( MBEDTLS_ERR_X509_INVALID_SIGNATURE +
@@ -590,6 +589,10 @@
         len_partial--;
     }
 
+    // Check if both parts are of the same size
+    if( len_partial != len_signature )
+    	return( MBEDTLS_ERR_X509_INVALID_SIGNATURE );
+
     memcpy( sig->p + len_partial, *p, len_partial );
     len_signature += len_partial;
     sig->tag = tag_type;