• G
    Variety of belt-tightenings in the bignum code. (Please help test this!) · e042540f
    Geoff Thorpe 提交于
    - Remove some unnecessary "+1"-like fudges. Sizes should be handled
      exactly, as enlarging size parameters causes needless bloat and may just
      make bugs less likely rather than fixing them: bn_expand() macro,
      bn_expand_internal(), and BN_sqr().
    - Deprecate bn_dup_expand() - it's new since 0.9.7, unused, and not that
      useful.
    - Remove unnecessary zeroing of unused bytes in bn_expand2().
    - Rewrite BN_set_word() - it should be much simpler, the previous
      complexities probably date from old mismatched type issues.
    - Add missing bn_check_top() macros in bn_word.c
    - Improve some degenerate case handling in BN_[add|sub]_word(), add
      comments, and avoid a bignum expansion if an overflow isn't possible.
    e042540f
bn_lib.c 19.3 KB