Replace deliberate division by zero with _gcry_divide_by_zero.
authorXi Wang <xi.wang@gmail.com>
Tue, 14 Aug 2012 22:54:40 +0000 (18:54 -0400)
committerWerner Koch <wk@gnupg.org>
Thu, 16 Aug 2012 08:48:03 +0000 (10:48 +0200)
commit2c54c4da19d3a79e9f749740828026dd41f0521a
treeacd346d2c038018c59db3697cc07e8fb0d36e073
parent2196728e2252917849c1be94417258076767021b
Replace deliberate division by zero with _gcry_divide_by_zero.

* mpi/mpi-pow.c: Replace 1 / msize.
* mpi/mpih-div.c: Replace 1 / dsize.
* src/misc.c: Add _gcry_divide_by_zero.
--

1) Division by zero doesn't "provoke a signal" on architectures
   like PowerPC.

2) C compilers like clang will optimize away these divisions, even
   though the code tries "to make the compiler not remove" them.

This patch redirects these cases to _gcry_divide_by_zero.
mpi/mpi-pow.c
mpi/mpih-div.c
src/g10lib.h
src/misc.c