projects
/
paraslash.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 't/oggdec_cleanups'
[paraslash.git]
/
gcrypt.c
diff --git
a/gcrypt.c
b/gcrypt.c
index b40b7b6e818ad387da3f2dffa96c06615eae5c10..f825f6c6a3de6388959d7b900f31ef9d48e6397b 100644
(file)
--- a/
gcrypt.c
+++ b/
gcrypt.c
@@
-164,7
+164,7
@@
static void pad_oaep(unsigned char *in, size_t in_len, unsigned char *out,
/* rfc 3447, section 7.1.2 */
static int unpad_oaep(unsigned char *in, size_t in_len, unsigned char *out,
size_t *out_len)
/* rfc 3447, section 7.1.2 */
static int unpad_oaep(unsigned char *in, size_t in_len, unsigned char *out,
size_t *out_len)
-{
int ret;
+{
unsigned char *masked_seed = in + 1;
unsigned char *db = in + 1 + HASH_SIZE;
unsigned char seed[HASH_SIZE], seed_mask[HASH_SIZE];
unsigned char *masked_seed = in + 1;
unsigned char *db = in + 1 + HASH_SIZE;
unsigned char seed[HASH_SIZE], seed_mask[HASH_SIZE];
@@
-189,7
+189,7
@@
static int unpad_oaep(unsigned char *in, size_t in_len, unsigned char *out,
p++;
*out_len = in + in_len - p;
memcpy(out, p, *out_len);
p++;
*out_len = in + in_len - p;
memcpy(out, p, *out_len);
- return
ret
;
+ return
1
;
}
struct asymmetric_key {
}
struct asymmetric_key {
@@
-763,7
+763,9
@@
static int decode_rsa(gcry_sexp_t sexp, int key_size, unsigned char *outbuf,
PARA_DEBUG_LOG("decrypted buffer before unpad (%d bytes):\n",
key_size);
dump_buffer("non-unpadded decrypted buffer", oaep_buf, key_size);;
PARA_DEBUG_LOG("decrypted buffer before unpad (%d bytes):\n",
key_size);
dump_buffer("non-unpadded decrypted buffer", oaep_buf, key_size);;
- unpad_oaep(oaep_buf, key_size, outbuf, nbytes);
+ ret = unpad_oaep(oaep_buf, key_size, outbuf, nbytes);
+ if (ret < 0)
+ goto out_mpi_release;
PARA_DEBUG_LOG("decrypted buffer after unpad (%zu bytes):\n",
*nbytes);
dump_buffer("unpadded decrypted buffer", outbuf, *nbytes);;
PARA_DEBUG_LOG("decrypted buffer after unpad (%zu bytes):\n",
*nbytes);
dump_buffer("unpadded decrypted buffer", outbuf, *nbytes);;