memory leak dans gen.cc invmod
Publié : mer. juil. 23, 2014 1:12 am
Il manque un delete res...
gen invmod(const gen & a,const gen & modulo){
[...]
ref_mpz_t * res;
[...]
if (!_ZINTinvmod(a,modulo,res)) <<<<<<<<<<<<<<<< execute un new res
return gentypeerr(gettext("invmod")); <<<<<<<<<<<<<< pas de delete res
return(res); <<<<<<<<< delete res ici, il vaudrait mieux avoir return gen(res);
[...]
return 0;
}
Par ailleurs, dans _ZINTinvmod, il y a des memory leaks potentiels si une exception est envoyée
notamment par new ref_mpz_t...
gen invmod(const gen & a,const gen & modulo){
[...]
ref_mpz_t * res;
[...]
if (!_ZINTinvmod(a,modulo,res)) <<<<<<<<<<<<<<<< execute un new res
return gentypeerr(gettext("invmod")); <<<<<<<<<<<<<< pas de delete res
return(res); <<<<<<<<< delete res ici, il vaudrait mieux avoir return gen(res);
[...]
return 0;
}
Par ailleurs, dans _ZINTinvmod, il y a des memory leaks potentiels si une exception est envoyée
notamment par new ref_mpz_t...