From f7ca7b99dd52ed9faec06cb2158599d5fc8261c6 Mon Sep 17 00:00:00 2001 From: Paul Bakker Date: Sat, 20 Jun 2009 10:31:06 +0000 Subject: [PATCH] - Fixed incorrect handling of one single negative input value in mpi_add_abs() (found by code coverage tests). --- ChangeLog | 2 ++ library/bignum.c | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/ChangeLog b/ChangeLog index e84a35525..34e80d586 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,8 @@ PolarSSL ChangeLog Bug fixes * Fixed incorrect handling of negative strings in mpi_read_string() (found by code coverage tests). + * Fixed incorrect handling of one single negative input + value in mpi_add_abs() (found by code coverage tests). = Version 0.11.1 released on 2009-05-17 * Fixed missing functionality for SHA-224, SHA-256, SHA384, diff --git a/library/bignum.c b/library/bignum.c index 5c1de684c..218e50b5d 100644 --- a/library/bignum.c +++ b/library/bignum.c @@ -683,6 +683,11 @@ int mpi_add_abs( mpi *X, mpi *A, mpi *B ) if( X != A ) MPI_CHK( mpi_copy( X, A ) ); + + /* + * X should always be positive as a result of unsigned additions. + */ + X->s = 1; for( j = B->n - 1; j >= 0; j-- ) if( B->p[j] != 0 )