Check for equal data lengths in verification
authorPekka Riikonen <priikone@silcnet.org>
Tue, 26 Sep 2006 06:03:40 +0000 (06:03 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Tue, 26 Sep 2006 06:03:40 +0000 (06:03 +0000)
lib/silccrypt/silcpkcs1.c

index 88355e76349da013288da55aa1f0bc3298313562..0094e13089bf348da224efe520ac4d600be0ad84 100644 (file)
@@ -679,10 +679,13 @@ SilcBool silc_pkcs1_verify_no_oid(void *public_key,
   if (hash) {
     silc_hash_make(hash, data, data_len, hashr);
     data = hashr;
+    data_len = silc_hash_len(hash);
   }
 
   /* Compare */
-  if (memcmp(data, unpadded, len))
+  if (len != data_len)
+    ret = FALSE;
+  else if (memcmp(data, unpadded, len))
     ret = FALSE;
 
   memset(verify, 0, verify_len);