X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=gcrypt.c;h=2f38f1a6cab16e606e3a5704cef61b7cad252b50;hb=1cefe6a503c74d609db4e99e689d46575a5e40fd;hp=c6365470c736ada796f037403cb3bf837203c996;hpb=e9ac00becb2aba5bbbf51b4803b81b10ed4d6788;p=paraslash.git diff --git a/gcrypt.c b/gcrypt.c index c6365470..2f38f1a6 100644 --- a/gcrypt.c +++ b/gcrypt.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011 Andre Noll + * Copyright (C) 2011-2012 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -7,7 +7,6 @@ /** \file gcrypt.c Libgrcypt-based encryption/decryption routines. */ #include -#include #include #include "para.h" @@ -763,7 +762,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);; - 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);;