libtommath: Fix possible integer overflow CVE-2023-36328
[heimdal.git] / lib / hcrypto / libtommath / bn_mp_complement.c
blobfef1423c54c64d827f05db881afe99327deb0b70
1 #include "tommath_private.h"
2 #ifdef BN_MP_COMPLEMENT_C
3 /* LibTomMath, multiple-precision integer library -- Tom St Denis */
4 /* SPDX-License-Identifier: Unlicense */
6 /* b = ~a */
7 mp_err mp_complement(const mp_int *a, mp_int *b)
9 mp_err err = mp_neg(a, b);
10 return (err == MP_OKAY) ? mp_sub_d(b, 1uL, b) : err;
12 #endif