[Xfce4-commits] <ristretto:ristretto-0.6> Fixed an overflow when comparing filenames with large numbers in them. (Bug #9485)

Stephan Arts noreply at xfce.org
Sun Jan 6 17:20:03 CET 2013


Updating branch refs/heads/ristretto-0.6
         to 1a5e3f1aade3d5d460510a31cbdf9e0fb5b648a3 (commit)
       from 5f302be6b58eee5e98dac9e326c5766f2cb7d9c1 (commit)

commit 1a5e3f1aade3d5d460510a31cbdf9e0fb5b648a3
Author: Eric Koegel <eric.koegel at gmail.com>
Date:   Fri Dec 21 09:30:52 2012 +0300

    Fixed an overflow when comparing filenames with large numbers in them. (Bug #9485)
    
    Signed-off-by: Stephan Arts <stephan at xfce.org>

 src/image_list.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/image_list.c b/src/image_list.c
index 46977b1..f4c32fd 100644
--- a/src/image_list.c
+++ b/src/image_list.c
@@ -1363,8 +1363,8 @@ cb_rstto_image_list_image_name_compare_func (RsttoFile *a, RsttoFile *b)
     const gchar *bp = b_base;
 
     gint result = 0;
-    guint a_num = 0;
-    guint b_num = 0;
+    guint64 a_num = 0;
+    guint64 b_num = 0;
 
     /* try simple (fast) ASCII comparison first */
     for (;; ++ap, ++bp)
@@ -1404,8 +1404,8 @@ cb_rstto_image_list_image_name_compare_func (RsttoFile *a, RsttoFile *b)
              */
             if (g_ascii_isdigit (ac) && g_ascii_isdigit (bc))
             {
-                a_num = strtoul (ap, NULL, 10); 
-                b_num = strtoul (bp, NULL, 10); 
+                a_num = strtoull (ap, NULL, 10);
+                b_num = strtoull (bp, NULL, 10);
 
                 if (a_num < b_num)
                     result = -1;
@@ -1418,8 +1418,8 @@ cb_rstto_image_list_image_name_compare_func (RsttoFile *a, RsttoFile *b)
                 g_ascii_isdigit (*(ap -1)) &&
                 g_ascii_isdigit (*(bp -1)) )
             {
-                a_num = strtoul (ap-1, NULL, 10); 
-                b_num = strtoul (bp-1, NULL, 10); 
+                a_num = strtoull (ap-1, NULL, 10);
+                b_num = strtoull (bp-1, NULL, 10);
 
                 if (a_num < b_num)
                     result = -1;


More information about the Xfce4-commits mailing list