From 207ad636fe9220caba76c0bf4dc9a43385868eba Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Mon, 8 Jul 2013 14:55:14 +0100 Subject: [PATCH] Avoid potential divide by zero error. NB: Fixes Coverity CID1039437and CID1039438 Signed-off-by: Chris Michael --- src/lib/ecore_x/xlib/ecore_x_randr.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/lib/ecore_x/xlib/ecore_x_randr.c b/src/lib/ecore_x/xlib/ecore_x_randr.c index 934d910ab6..4761732be9 100644 --- a/src/lib/ecore_x/xlib/ecore_x_randr.c +++ b/src/lib/ecore_x/xlib/ecore_x_randr.c @@ -646,9 +646,19 @@ ecore_x_randr_screen_current_size_set(Ecore_X_Window root, int w, int h, int w_m if (w <= 0) w = cw; if (h <= 0) h = ch; if (w_mm <= 0) - w_mm = (int)(((double)(cwmm / (double)cw)) * (double)w); + { + if ((double)cw > 0.0) + w_mm = (int)(((double)(cwmm / (double)cw)) * (double)w); + else + w_mm = (int)(((double)(cwmm)) * (double)w); + } if (h_mm <= 0) - h_mm = (int)(((double)(chmm / (double)ch)) * (double)h); + { + if ((double)ch > 0.0) + h_mm = (int)(((double)(chmm / (double)ch)) * (double)h); + else + h_mm = (int)(((double)(chmm)) * (double)h); + } /* tell XRandr to set screen size */ XRRSetScreenSize(_ecore_x_disp, root, w, h, w_mm, h_mm);