diff options
author | Nicolai Stange <nicstange@gmail.com> | 2016-03-22 13:12:35 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-09-15 08:27:54 +0200 |
commit | 11c27e850d90372d79c1337be299923b5fb353e8 (patch) | |
tree | 068c6da3a091106169bf63ed1e472a165adf7c21 /crypto/memneq.c | |
parent | 3838b04f6d5868f5ec5ee52ce1391b6253c6ce16 (diff) |
lib/mpi: mpi_write_sgl(): fix skipping of leading zero limbs
commit f2d1362ff7d266b3d2b1c764d6c2ef4a3b457f23 upstream.
Currently, if the number of leading zeros is greater than fits into a
complete limb, mpi_write_sgl() skips them by iterating over them limb-wise.
However, it fails to adjust its internal leading zeros tracking variable,
lzeros, accordingly: it does a
p -= sizeof(alimb);
continue;
which should really have been a
lzeros -= sizeof(alimb);
continue;
Since lzeros never decreases if its initial value >= sizeof(alimb), nothing
gets copied by mpi_write_sgl() in that case.
Instead of skipping the high order zero limbs within the loop as shown
above, fix the issue by adjusting the copying loop's bounds.
Fixes: 2d4d1eea540b ("lib/mpi: Add mpi sgl helpers")
Signed-off-by: Nicolai Stange <nicstange@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'crypto/memneq.c')
0 files changed, 0 insertions, 0 deletions