[gdk-pixbuf] pixops: Don't overflow variables when shifting them



commit e9a5704edaa9aee9498f1fbf6e1b70fcce2e55aa
Author: Benjamin Otte <otte redhat com>
Date:   Tue Sep 22 22:44:51 2015 +0200

    pixops: Don't overflow variables when shifting them
    
    If we shift by 16 bits we need to be sure those 16 bits actually exist.
    They do now.

 gdk-pixbuf/pixops/pixops.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)
---
diff --git a/gdk-pixbuf/pixops/pixops.c b/gdk-pixbuf/pixops/pixops.c
index 4cdb5df..b0abecd 100644
--- a/gdk-pixbuf/pixops/pixops.c
+++ b/gdk-pixbuf/pixops/pixops.c
@@ -264,11 +264,11 @@ pixops_scale_nearest (guchar        *dest_buf,
                      double         scale_x,
                      double         scale_y)
 {
-  int i;
-  int x;
-  int x_step = (1 << SCALE_SHIFT) / scale_x;
-  int y_step = (1 << SCALE_SHIFT) / scale_y;
-  int xmax, xstart, xstop, x_pos, y_pos;
+  gint64 i;
+  gint64 x;
+  gint64 x_step = (1 << SCALE_SHIFT) / scale_x;
+  gint64 y_step = (1 << SCALE_SHIFT) / scale_y;
+  gint64 xmax, xstart, xstop, x_pos, y_pos;
   const guchar *p;
 
 #define INNER_LOOP(SRC_CHANNELS,DEST_CHANNELS,ASSIGN_PIXEL)     \


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]