tree ee63bcd990b3ed8f9f6290c0be95258d709b6232
parent 9da5584d51890e87a5f58e64c2e7581ae72799a5
author Søren Sandmann Pedersen <ssp@redhat.com> 1347693189 -0400
committer Søren Sandmann Pedersen <ssp@redhat.com> 1349041824 -0400

Fix for infinite-loop test

The infinite loop detected by "affine-test 212944861" is caused by an
overflow in this expression:

    max_x = pixman_fixed_to_int (vx + (width - 1) * unit_x) + 1;

where (width - 1) * unit_x doesn't fit in a signed int. This causes
max_x to be too small so that this:

    src_width = 0

    while (src_width < REPEAT_NORMAL_MIN_WIDTH && src_width <= max_x)
        src_width += src_image->bits.width;

results in src_width being 0. Later on when src_width is used for
repeat calculations, we get the infinite loop.

By casting unit_x to int64_t, the expression no longer overflows and
affine-test 212944861 and infinite-loop no longer loop forever.
