Module: wine Branch: master Commit: 556267bde446412741e5c209d4090f4a3761e03f URL: http://source.winehq.org/git/wine.git/?a=commit;h=556267bde446412741e5c209d4...
Author: Alexandre Julliard julliard@winehq.org Date: Wed Feb 22 11:27:58 2012 +0100
gdi32: Avoid overflows for invalid coordinates in line clipping.
---
dlls/gdi32/dibdrv/objects.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/dlls/gdi32/dibdrv/objects.c b/dlls/gdi32/dibdrv/objects.c index b6e50cb..a9d6ca5 100644 --- a/dlls/gdi32/dibdrv/objects.c +++ b/dlls/gdi32/dibdrv/objects.c @@ -372,7 +372,8 @@ static inline DWORD calc_outcode(const POINT *pt, const RECT *clip) int clip_line(const POINT *start, const POINT *end, const RECT *clip, const bres_params *params, POINT *pt1, POINT *pt2) { - int m, n; + + INT64 m, n; /* 64-bit to avoid overflows (FIXME: find a more efficient way) */ BOOL clipped = FALSE; DWORD start_oc, end_oc; const int bias = params->bias;