summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libcrypto/rsa/rsa_oaep.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/lib/libcrypto/rsa/rsa_oaep.c b/src/lib/libcrypto/rsa/rsa_oaep.c
index cd7af203b7..a62927506e 100644
--- a/src/lib/libcrypto/rsa/rsa_oaep.c
+++ b/src/lib/libcrypto/rsa/rsa_oaep.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: rsa_oaep.c,v 1.26 2017/01/29 17:49:23 beck Exp $ */ 1/* $OpenBSD: rsa_oaep.c,v 1.27 2018/08/05 13:30:04 bcook Exp $ */
2/* Written by Ulf Moeller. This software is distributed on an "AS IS" 2/* Written by Ulf Moeller. This software is distributed on an "AS IS"
3 basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. */ 3 basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. */
4 4
@@ -72,14 +72,18 @@ RSA_padding_add_PKCS1_OAEP(unsigned char *to, int tlen,
72 } 72 }
73 73
74 if (MGF1(dbmask, emlen - SHA_DIGEST_LENGTH, seed, 74 if (MGF1(dbmask, emlen - SHA_DIGEST_LENGTH, seed,
75 SHA_DIGEST_LENGTH) < 0) 75 SHA_DIGEST_LENGTH) < 0) {
76 free(dbmask);
76 return 0; 77 return 0;
78 }
77 for (i = 0; i < emlen - SHA_DIGEST_LENGTH; i++) 79 for (i = 0; i < emlen - SHA_DIGEST_LENGTH; i++)
78 db[i] ^= dbmask[i]; 80 db[i] ^= dbmask[i];
79 81
80 if (MGF1(seedmask, SHA_DIGEST_LENGTH, db, 82 if (MGF1(seedmask, SHA_DIGEST_LENGTH, db,
81 emlen - SHA_DIGEST_LENGTH) < 0) 83 emlen - SHA_DIGEST_LENGTH) < 0) {
84 free(dbmask);
82 return 0; 85 return 0;
86 }
83 for (i = 0; i < SHA_DIGEST_LENGTH; i++) 87 for (i = 0; i < SHA_DIGEST_LENGTH; i++)
84 seed[i] ^= seedmask[i]; 88 seed[i] ^= seedmask[i];
85 89