OSDN Git Service

Avoid overflow in 'last' variable of FindGLXFunction(...)
authorStefan Dirsch <sndirsch@suse.de>
Thu, 14 Jul 2016 13:21:20 +0000 (15:21 +0200)
committerEmil Velikov <emil.l.velikov@gmail.com>
Thu, 21 Jul 2016 13:31:27 +0000 (14:31 +0100)
commitfb8b548ac1d9e0b39fc550c5cff9e704e032803d
treeea93fb72c3c87515b90f52397a920e0f88e67404
parent92799eee93fb2b92e7716cae7353a94b4bd5099b
Avoid overflow in 'last' variable of FindGLXFunction(...)

This 'last' variable used in FindGLXFunction(...) may become negative,
but has been defined as unsigned int resulting in an overflow,
finally resulting in a segfault when accessing _glXDispatchTableStrings[...].
Fixed this by definining it as signed int. 'first' variable also needs to be
defined as signed int. Otherwise condition for while loop fails due to C
implicitly converting signed to unsigned values before comparison.

Cc: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Stefan Dirsch <sndirsch@suse.de>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
(cherry picked from commit 27ef7bfd6cd2d960844f4c79d6dddc0bda0b20b0)
src/glx/glxglvnd.c