- Fixed incorrect handling of one single negative input value in mpi_add_abs() (found by code coverage tests).
diff --git a/ChangeLog b/ChangeLog
index e84a355..34e80d5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,8 @@
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 5c1de68..218e50b 100644
--- a/library/bignum.c
+++ b/library/bignum.c
@@ -683,6 +683,11 @@
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 )