Added return value checking for correctness in programs

This commit is contained in:
Paul Bakker 2014-04-17 16:00:59 +02:00
parent 4f42c11846
commit cbe3d0d5cc
4 changed files with 58 additions and 14 deletions

View file

@ -164,7 +164,11 @@ int main( int argc, char *argv[] )
fprintf( stderr, "Cipher '%s' not found\n", argv[4] );
goto exit;
}
cipher_init_ctx( &cipher_ctx, cipher_info);
if( ( ret = cipher_init_ctx( &cipher_ctx, cipher_info) ) != 0 )
{
fprintf( stderr, "cipher_init_ctx failed\n" );
goto exit;
}
md_info = md_info_from_string( argv[5] );
if( md_info == NULL )
@ -326,11 +330,16 @@ int main( int argc, char *argv[] )
if( fread( buffer, 1, ilen, fin ) != ilen )
{
fprintf( stderr, "fread(%ld bytes) failed\n", (long) n );
fprintf( stderr, "fread(%ld bytes) failed\n", (long) ilen );
goto exit;
}
if( cipher_update( &cipher_ctx, buffer, ilen, output, &olen ) != 0 )
{
fprintf( stderr, "cipher_update() returned error\n");
goto exit;
}
cipher_update( &cipher_ctx, buffer, ilen, output, &olen );
md_hmac_update( &md_ctx, output, olen );
if( fwrite( output, 1, olen, fout ) != olen )
@ -424,10 +433,24 @@ int main( int argc, char *argv[] )
memset( key, 0, sizeof( key ) );
cipher_setkey( &cipher_ctx, digest, cipher_info->key_length,
POLARSSL_DECRYPT );
cipher_set_iv( &cipher_ctx, IV, 16 );
cipher_reset( &cipher_ctx );
if( cipher_setkey( &cipher_ctx, digest, cipher_info->key_length,
POLARSSL_DECRYPT ) != 0 )
{
fprintf( stderr, "cipher_setkey() returned error\n" );
goto exit;
}
if( cipher_set_iv( &cipher_ctx, IV, 16 ) != 0 )
{
fprintf( stderr, "cipher_set_iv() returned error\n" );
goto exit;
}
if( cipher_reset( &cipher_ctx ) != 0 )
{
fprintf( stderr, "cipher_reset() returned error\n" );
goto exit;
}
md_hmac_starts( &md_ctx, digest, 32 );
@ -445,8 +468,13 @@ int main( int argc, char *argv[] )
}
md_hmac_update( &md_ctx, buffer, cipher_get_block_size( &cipher_ctx ) );
cipher_update( &cipher_ctx, buffer, cipher_get_block_size( &cipher_ctx ),
output, &olen );
if( cipher_update( &cipher_ctx, buffer,
cipher_get_block_size( &cipher_ctx ),
output, &olen ) != 0 )
{
fprintf( stderr, "cipher_update() returned error\n" );
goto exit;
}
if( fwrite( output, 1, olen, fout ) != olen )
{