summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvipsk/drawPS.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/dvipsk/drawPS.c')
-rw-r--r--Build/source/texk/dvipsk/drawPS.c4
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;