Not a bug, but a good suggestion
Suggested fixes for the factorize.c program in the ~/gmp-6.1.2/demos folder area
53,54c53,54 < factors->p = malloc (1); < factors->e = malloc (1); --- > factors->p = (mpz_t*) malloc (sizeof(mpz_t*)); > factors->e = (unsigned long int*) malloc (sizeof(unsigned long int*)); 87,88c87,88 < p = realloc (p, (nfactors + 1) * sizeof p[0]); < e = realloc (e, (nfactors + 1) * sizeof e[0]); --- > p = (mpz_t*) realloc (p, (nfactors + 1) * sizeof p[0]); > e = (unsigned long int*) realloc (e, (nfactors + 1) * sizeof e[0]); 408a409 > 414a416,418 > if (mpz_sgn(t) == -1) > mpz_neg(t,t); > 432a437,439 > > if (mpz_sgn(t) == -1) > mpz_neg(t,t); Thread model: posix gcc version 4.8.5 (SUSE Linux) The first fix should have been used in C code anyways, while the 2nd fix stops the unterminating loop if a negative value is accidently entered.
_______________________________________________ gmp-bugs mailing list [email protected] https://gmplib.org/mailman/listinfo/gmp-bugs
