mpz_gcdext bug in mini-gmp

Niels Möller nisse at
Sun Mar 22 12:50:08 UTC 2020

Syed Jafri <syedjafri97 at> writes:


To make it easy to follow the example, I would suggest simplifying it to
something like

#include <stdio.h>
#include <gmp.h>  /* or #include "mini-gmp.c" */

int main (int argc, char **argv) 
  mpz_t a, b, g, s;

  mpz_init_set_str(a, ...);
  mpz_init_set_str(b, ...);
  mpz_init (g);
  mpz_init (s);
  mpz_gcdext (g, s, NULL, a, b);
  gmp_printf ("g = %Zd, s = %Zd\n", g, s);
  return 0;

Never access internal fields of mpz_t directly. If for any reason (this
example has no good reason, as far as I see) one needs to use a limb
array as input, use mpz_roinit_n.


Niels Möller. PGP-encrypted email is preferred. Keyid 368C6677.
Internet email is subject to wholesale government surveillance.

More information about the gmp-bugs mailing list