- Major type rewrite of int to size_t for most variables and arguments used for buffer lengths and loops
diff --git a/library/rsa.c b/library/rsa.c
index a0f750e..4d3fc4c 100644
--- a/library/rsa.c
+++ b/library/rsa.c
@@ -37,7 +37,6 @@
#include "polarssl/md.h"
#include <stdlib.h>
-#include <string.h>
#include <stdio.h>
/*
@@ -61,7 +60,7 @@
int rsa_gen_key( rsa_context *ctx,
int (*f_rng)(void *),
void *p_rng,
- int nbits, int exponent )
+ unsigned int nbits, int exponent )
{
int ret;
mpi P1, Q1, H, G;
@@ -206,7 +205,8 @@
const unsigned char *input,
unsigned char *output )
{
- int ret, olen;
+ int ret;
+ size_t olen;
mpi T;
mpi_init( &T, NULL );
@@ -240,7 +240,8 @@
const unsigned char *input,
unsigned char *output )
{
- int ret, olen;
+ int ret;
+ size_t olen;
mpi T, T1, T2;
mpi_init( &T, &T1, &T2, NULL );
@@ -301,15 +302,15 @@
* @param src source of the mask generation
* @param slen length of the source buffer
* @param md_ctx message digest context to use
- * @param hlen length of the digest result
*/
-static void mgf_mask( unsigned char *dst, int dlen, unsigned char *src, int slen,
+static void mgf_mask( unsigned char *dst, size_t dlen, unsigned char *src, size_t slen,
md_context_t *md_ctx )
{
unsigned char mask[POLARSSL_MD_MAX_SIZE];
unsigned char counter[4];
unsigned char *p;
- int i, use_len, hlen;
+ unsigned int hlen;
+ size_t i, use_len;
memset( mask, 0, POLARSSL_MD_MAX_SIZE );
memset( counter, 0, 4 );
@@ -347,16 +348,16 @@
int rsa_pkcs1_encrypt( rsa_context *ctx,
int (*f_rng)(void *),
void *p_rng,
- int mode, int ilen,
+ int mode, size_t ilen,
const unsigned char *input,
unsigned char *output )
{
- int nb_pad, olen;
+ size_t nb_pad, olen;
unsigned char *p = output;
#if defined(POLARSSL_PKCS1_V21)
+ unsigned int i, hlen;
const md_info_t *md_info;
md_context_t md_ctx;
- int i, hlen;
#endif
olen = ctx->len;
@@ -368,7 +369,7 @@
{
case RSA_PKCS_V15:
- if( ilen < 0 || olen < ilen + 11 )
+ if( olen < ilen + 11 )
return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
nb_pad = olen - 3 - ilen;
@@ -404,7 +405,7 @@
hlen = md_get_size( md_info );
- if( ilen < 0 || olen < ilen + 2 * hlen + 2 || f_rng == NULL )
+ if( olen < ilen + 2 * hlen + 2 || f_rng == NULL )
return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
memset( output, 0, olen );
@@ -453,19 +454,20 @@
* Do an RSA operation, then remove the message padding
*/
int rsa_pkcs1_decrypt( rsa_context *ctx,
- int mode, int *olen,
+ int mode, size_t *olen,
const unsigned char *input,
unsigned char *output,
- int output_max_len)
+ size_t output_max_len)
{
- int ret, ilen;
+ int ret;
+ size_t ilen;
unsigned char *p;
unsigned char buf[1024];
#if defined(POLARSSL_PKCS1_V21)
unsigned char lhash[POLARSSL_MD_MAX_SIZE];
+ unsigned int hlen;
const md_info_t *md_info;
md_context_t md_ctx;
- int hlen;
#endif
ilen = ctx->len;
@@ -554,7 +556,7 @@
}
if (ilen - (int)(p - buf) > output_max_len)
- return( POLARSSL_ERR_RSA_OUTPUT_TOO_LARGE );
+ return( POLARSSL_ERR_RSA_OUTPUT_TOO_LARGE );
*olen = ilen - (int)(p - buf);
memcpy( output, p, *olen );
@@ -570,17 +572,18 @@
void *p_rng,
int mode,
int hash_id,
- int hashlen,
+ unsigned int hashlen,
const unsigned char *hash,
unsigned char *sig )
{
- int nb_pad, olen;
+ size_t nb_pad, olen;
unsigned char *p = sig;
#if defined(POLARSSL_PKCS1_V21)
unsigned char salt[POLARSSL_MD_MAX_SIZE];
+ unsigned int i, slen, hlen, offset = 0;
+ size_t msb;
const md_info_t *md_info;
md_context_t md_ctx;
- int i, slen, hlen, msb, offset = 0;
#else
(void) f_rng;
(void) p_rng;
@@ -796,18 +799,20 @@
int rsa_pkcs1_verify( rsa_context *ctx,
int mode,
int hash_id,
- int hashlen,
+ unsigned int hashlen,
const unsigned char *hash,
unsigned char *sig )
{
- int ret, len, siglen;
+ int ret;
+ size_t len, siglen;
unsigned char *p, c;
unsigned char buf[1024];
#if defined(POLARSSL_PKCS1_V21)
unsigned char zeros[8];
+ unsigned int hlen;
+ size_t slen, msb;
const md_info_t *md_info;
md_context_t md_ctx;
- int slen, hlen, msb;
#endif
siglen = ctx->len;
@@ -1078,7 +1083,7 @@
*/
int rsa_self_test( int verbose )
{
- int len;
+ size_t len;
rsa_context rsa;
unsigned char sha1sum[20];
unsigned char rsa_plaintext[PT_LEN];
@@ -1128,7 +1133,7 @@
if( rsa_pkcs1_decrypt( &rsa, RSA_PRIVATE, &len,
rsa_ciphertext, rsa_decrypted,
- sizeof(rsa_decrypted) ) != 0 )
+ sizeof(rsa_decrypted) ) != 0 )
{
if( verbose != 0 )
printf( "failed\n" );