diff options
Diffstat (limited to 'Build/source/texk/dvipsk/drawPS.c')
-rw-r--r-- | Build/source/texk/dvipsk/drawPS.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Build/source/texk/dvipsk/drawPS.c b/Build/source/texk/dvipsk/drawPS.c index 2151b2a2721..4044f113a71 100644 --- a/Build/source/texk/dvipsk/drawPS.c +++ b/Build/source/texk/dvipsk/drawPS.c @@ -287,7 +287,9 @@ flushDashedPath(int dotted, double inchesPerDash) for (i=2; i <= pathLen; i++) { integer dx = hconvPS(xx[i-1]) - hconvPS(xx[i]); integer dy = vconvPS(yy[i-1]) - vconvPS(yy[i]); - double delta = sqrt((double) (dx * dx + dy * dy)); + /* Cast to double before multiplying; otherwise, can result in + integer overflow and thus a negative result (eepic-nan.test). */ + double delta = sqrt((double) (dx) * dx + (double) dy * dy); double ipd; int ndashes; |