mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-16 10:15:22 -06:00
fix an uncaught exception: denom_lcd may throw an overflow exception if casting lcm to int64_t fails
This commit is contained in:
parent
929cb3d0c1
commit
6cb509ea7d
@ -756,9 +756,9 @@ gnc_numeric_add(gnc_numeric a, gnc_numeric b,
|
||||
{
|
||||
return gnc_numeric_error(GNC_ERROR_ARG);
|
||||
}
|
||||
denom = denom_lcd(a, b, denom, how);
|
||||
try
|
||||
{
|
||||
denom = denom_lcd(a, b, denom, how);
|
||||
if ((how & GNC_NUMERIC_DENOM_MASK) != GNC_HOW_DENOM_EXACT)
|
||||
{
|
||||
GncNumeric an (a), bn (b);
|
||||
@ -810,9 +810,9 @@ gnc_numeric_sub(gnc_numeric a, gnc_numeric b,
|
||||
{
|
||||
return gnc_numeric_error(GNC_ERROR_ARG);
|
||||
}
|
||||
denom = denom_lcd(a, b, denom, how);
|
||||
try
|
||||
{
|
||||
denom = denom_lcd(a, b, denom, how);
|
||||
if ((how & GNC_NUMERIC_DENOM_MASK) != GNC_HOW_DENOM_EXACT)
|
||||
{
|
||||
GncNumeric an (a), bn (b);
|
||||
@ -863,9 +863,10 @@ gnc_numeric_mul(gnc_numeric a, gnc_numeric b,
|
||||
{
|
||||
return gnc_numeric_error(GNC_ERROR_ARG);
|
||||
}
|
||||
denom = denom_lcd(a, b, denom, how);
|
||||
|
||||
try
|
||||
{
|
||||
denom = denom_lcd(a, b, denom, how);
|
||||
if ((how & GNC_NUMERIC_DENOM_MASK) != GNC_HOW_DENOM_EXACT)
|
||||
{
|
||||
GncNumeric an (a), bn (b);
|
||||
@ -917,9 +918,9 @@ gnc_numeric_div(gnc_numeric a, gnc_numeric b,
|
||||
{
|
||||
return gnc_numeric_error(GNC_ERROR_ARG);
|
||||
}
|
||||
denom = denom_lcd(a, b, denom, how);
|
||||
try
|
||||
{
|
||||
denom = denom_lcd(a, b, denom, how);
|
||||
if ((how & GNC_NUMERIC_DENOM_MASK) != GNC_HOW_DENOM_EXACT)
|
||||
{
|
||||
GncNumeric an (a), bn (b);
|
||||
|
Loading…
Reference in New Issue
Block a user