diff --git a/VERSION b/VERSION index 0fe264b4..f0293101 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.3.324 +8.3.325 diff --git a/calma/CalmaRdpt.c b/calma/CalmaRdpt.c index 398d478d..951df9cd 100644 --- a/calma/CalmaRdpt.c +++ b/calma/CalmaRdpt.c @@ -809,10 +809,16 @@ calmaElementText() if (nbytes > 0 && rtype == CALMA_MAG) { calmaReadR8(&dval); - - /* Assume that MAG is the label size in microns */ - /* "size" is the label size in 10 * (database units) */ - size = (int)((dval * 1000 * cifCurReadStyle->crs_multiplier) + /* Sanity check on dval (must be nonzero positive) */ + if ((dval <= 0) || (dval > 10000)) + { + CalmaReadError("Invalid text magnification %lg.\n", dval); + /* Keep default size */ + } + else + /* Assume that MAG is the label size in microns */ + /* "size" is the label size in 10 * (database units) */ + size = (int)((dval * 1000 * cifCurReadStyle->crs_multiplier) / cifCurReadStyle->crs_scaleFactor); } else