s4:torture: Adapt KDC canon test to Heimdal upstream changes
[samba.git] / source4 / heimdal / lib / hcrypto / libtommath / bn_mp_addmod.c
1 #include "tommath_private.h"
2 #ifdef BN_MP_ADDMOD_C
3 /* LibTomMath, multiple-precision integer library -- Tom St Denis */
4 /* SPDX-License-Identifier: Unlicense */
5
6 /* d = a + b (mod c) */
7 mp_err mp_addmod(const mp_int *a, const mp_int *b, const mp_int *c, mp_int *d)
8 {
9    mp_err  err;
10    mp_int  t;
11
12    if ((err = mp_init(&t)) != MP_OKAY) {
13       return err;
14    }
15
16    if ((err = mp_add(a, b, &t)) != MP_OKAY) {
17       goto LBL_ERR;
18    }
19    err = mp_mod(&t, c, d);
20
21 LBL_ERR:
22    mp_clear(&t);
23    return err;
24 }
25 #endif