diff options
author | Nicolai Stange <nicstange@gmail.com> | 2016-03-22 15:12:35 +0300 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2016-04-05 15:35:46 +0300 |
commit | f2d1362ff7d266b3d2b1c764d6c2ef4a3b457f23 (patch) | |
tree | 030e179e9fbf37af09328a1abfdccd5dd61fdaee /lib/is_single_threaded.c | |
parent | 3cf9d84eb84abb4c186cd793d8720437a2ee2b1a (diff) | |
download | linux-f2d1362ff7d266b3d2b1c764d6c2ef4a3b457f23.tar.xz |
lib/mpi: mpi_write_sgl(): fix skipping of leading zero limbs
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>
Diffstat (limited to 'lib/is_single_threaded.c')
0 files changed, 0 insertions, 0 deletions