0001-mpz-inp_raw.c-Avoid-bit-size-overflows.patch 841 B

123456789101112131415161718192021222324252627
  1. # HG changeset patch
  2. # User Marco Bodrato <bodrato@mail.dm.unipi.it>
  3. # Date 1634836009 -7200
  4. # Node ID 561a9c25298e17bb01896801ff353546c6923dbd
  5. # Parent e1fd9db13b475209a864577237ea4b9105b3e96e
  6. mpz/inp_raw.c: Avoid bit size overflows
  7. [Retrieved from: https://gmplib.org/repo/gmp-6.2/rev/561a9c25298e]
  8. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  9. diff -r e1fd9db13b47 -r 561a9c25298e mpz/inp_raw.c
  10. --- a/mpz/inp_raw.c Tue Dec 22 23:49:51 2020 +0100
  11. +++ b/mpz/inp_raw.c Thu Oct 21 19:06:49 2021 +0200
  12. @@ -88,8 +88,11 @@
  13. abs_csize = ABS (csize);
  14. + if (UNLIKELY (abs_csize > ~(mp_bitcnt_t) 0 / 8))
  15. + return 0; /* Bit size overflows */
  16. +
  17. /* round up to a multiple of limbs */
  18. - abs_xsize = BITS_TO_LIMBS (abs_csize*8);
  19. + abs_xsize = BITS_TO_LIMBS ((mp_bitcnt_t) abs_csize * 8);
  20. if (abs_xsize != 0)
  21. {