vlc/vlc-3.0 | branch: master | Hugo Beauzée-Luyssen <h...@beauzee.fr> | Mon Apr 19 11:46:56 2021 +0200| [4df4378f433fb5b175bf0792f32bb7014f055c10] | committer: Hugo Beauzée-Luyssen
core: update_crypto: Use uint32_t for buffer sizes (cherry picked from commit 1778e11aaffc628f62cfb6e35ba9d64b1953620e) Signed-off-by: Hugo Beauzée-Luyssen <h...@beauzee.fr> > http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=4df4378f433fb5b175bf0792f32bb7014f055c10 --- src/misc/update_crypto.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/misc/update_crypto.c b/src/misc/update_crypto.c index 87800d11a4..d4e65fa2a6 100644 --- a/src/misc/update_crypto.c +++ b/src/misc/update_crypto.c @@ -54,7 +54,7 @@ #define packet_header_len( c ) ( ( c & 0x03 ) + 1 ) /* number of bytes in a packet header */ -static inline int scalar_number( const uint8_t *p, int header_len ) +static inline uint32_t scalar_number( const uint8_t *p, int header_len ) { assert( header_len == 1 || header_len == 2 || header_len == 4 ); @@ -70,7 +70,7 @@ static inline int scalar_number( const uint8_t *p, int header_len ) /* number of data bytes in a MPI */ -static int mpi_len(const uint8_t *mpi) +static uint32_t mpi_len(const uint8_t *mpi) { return (scalar_number(mpi, 2) + 7) / 8; } @@ -482,15 +482,15 @@ static int verify_signature_rsa( signature_packet_t *sign, public_key_packet_t * gcry_sexp_t key_sexp, hash_sexp, sig_sexp; key_sexp = hash_sexp = sig_sexp = NULL; - int i_n_len = mpi_len( p_key->sig.rsa.n ); - int i_e_len = mpi_len( p_key->sig.rsa.e ); + size_t i_e_len = mpi_len( p_key->sig.rsa.e ); + size_t i_n_len = mpi_len( p_key->sig.rsa.n ); if( gcry_mpi_scan( &n, GCRYMPI_FMT_USG, p_key->sig.rsa.n + 2, i_n_len, NULL ) || gcry_mpi_scan( &e, GCRYMPI_FMT_USG, p_key->sig.rsa.e + 2, i_e_len, NULL ) || gcry_sexp_build( &key_sexp, &erroff, key_sexp_s, n, e ) ) goto out; uint8_t *p_s = sign->algo_specific.rsa.s; - int i_s_len = mpi_len( p_s ); + size_t i_s_len = mpi_len( p_s ); if( gcry_mpi_scan( &s, GCRYMPI_FMT_USG, p_s + 2, i_s_len, NULL ) || gcry_sexp_build( &sig_sexp, &erroff, sig_sexp_s, s ) ) goto out; @@ -536,10 +536,10 @@ static int verify_signature_dsa( signature_packet_t *sign, public_key_packet_t * gcry_sexp_t key_sexp, hash_sexp, sig_sexp; key_sexp = hash_sexp = sig_sexp = NULL; - int i_p_len = mpi_len( p_key->sig.dsa.p ); - int i_q_len = mpi_len( p_key->sig.dsa.q ); - int i_g_len = mpi_len( p_key->sig.dsa.g ); - int i_y_len = mpi_len( p_key->sig.dsa.y ); + size_t i_p_len = mpi_len( p_key->sig.dsa.p ); + size_t i_q_len = mpi_len( p_key->sig.dsa.q ); + size_t i_g_len = mpi_len( p_key->sig.dsa.g ); + size_t i_y_len = mpi_len( p_key->sig.dsa.y ); if( gcry_mpi_scan( &p, GCRYMPI_FMT_USG, p_key->sig.dsa.p + 2, i_p_len, NULL ) || gcry_mpi_scan( &q, GCRYMPI_FMT_USG, p_key->sig.dsa.q + 2, i_q_len, NULL ) || gcry_mpi_scan( &g, GCRYMPI_FMT_USG, p_key->sig.dsa.g + 2, i_g_len, NULL ) || @@ -549,14 +549,14 @@ static int verify_signature_dsa( signature_packet_t *sign, public_key_packet_t * uint8_t *p_r = sign->algo_specific.dsa.r; uint8_t *p_s = sign->algo_specific.dsa.s; - int i_r_len = mpi_len( p_r ); - int i_s_len = mpi_len( p_s ); + size_t i_r_len = mpi_len( p_r ); + size_t i_s_len = mpi_len( p_s ); if( gcry_mpi_scan( &r, GCRYMPI_FMT_USG, p_r + 2, i_r_len, NULL ) || gcry_mpi_scan( &s, GCRYMPI_FMT_USG, p_s + 2, i_s_len, NULL ) || gcry_sexp_build( &sig_sexp, &erroff, sig_sexp_s, r, s ) ) goto out; - int i_hash_len = gcry_md_get_algo_dlen (sign->digest_algo); + unsigned int i_hash_len = gcry_md_get_algo_dlen (sign->digest_algo); if (i_hash_len > i_q_len) i_hash_len = i_q_len; if( gcry_mpi_scan( &hash, GCRYMPI_FMT_USG, p_hash, i_hash_len, NULL ) || @@ -648,7 +648,7 @@ int parse_public_key( const uint8_t *p_key_data, size_t i_key_len, ( i_header_len != 1 && i_header_len != 2 && i_header_len != 4 ) ) goto error; - int i_packet_len = scalar_number( pos, i_header_len ); + size_t i_packet_len = scalar_number( pos, i_header_len ); pos += i_header_len; if( pos + i_packet_len > max_pos ) _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits