Re: [PATCH 1/2] MPILIB: Fix comparison of negative MPIs

From: David Howells
Date: Fri Jan 09 2015 - 05:58:28 EST


I think you're right - *adding* the two sizes makes no sense. cc'ing Dmitry
also for his check.

David


Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> wrote:

> If u and v both represent negative integers and their limb counts
> happen to differ, mpi_cmp will always return a positive value - this
> is obviously bogus. u is smaller than v if and only if it is larger in
> absolute value.
>
> Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
> ---
> lib/mpi/mpi-cmp.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/mpi/mpi-cmp.c b/lib/mpi/mpi-cmp.c
> index 1871e7b61ca0..3801694240d8 100644
> --- a/lib/mpi/mpi-cmp.c
> +++ b/lib/mpi/mpi-cmp.c
> @@ -57,7 +57,7 @@ int mpi_cmp(MPI u, MPI v)
> if (usize != vsize && !u->sign && !v->sign)
> return usize - vsize;
> if (usize != vsize && u->sign && v->sign)
> - return vsize + usize;
> + return vsize - usize;
> if (!usize)
> return 0;
> cmp = mpihelp_cmp(u->d, v->d, usize);
> --
> 2.1.3
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/