Commit 1a5e3f1a authored by Eric Koegel's avatar Eric Koegel Committed by Stephan Arts

Fixed an overflow when comparing filenames with large numbers in them. (Bug #9485)

Signed-off-by: default avatarStephan Arts <stephan@xfce.org>
parent 5f302be6
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment