OSDN Git Service

mesa: Fix segfault on reading from a missing color read buffer.
authorEric Anholt <eric@anholt.net>
Tue, 13 Nov 2012 21:39:37 +0000 (13:39 -0800)
committerEric Anholt <eric@anholt.net>
Sat, 17 Nov 2012 20:55:54 +0000 (12:55 -0800)
commit5c99697f74c68f7e170564d791b95d986a18774a
treedf53cbb8f4e783d09d10e14ff73371390e9b815a
parentdf3361df01e35aae9f379f0687490ba409841cfb
mesa: Fix segfault on reading from a missing color read buffer.

The diff looks funny, but it's moving the integer vs non-integer check
below the _mesa_source_buffer_exists() check that ensures
_ColorReadBuffer is non-null, so we get a GL_INVALID_OPERATION instead
of a segfault.  This looks like it had regressed in the
_mesa_error_check_format_and_type() changes, which removed the first of
the two duplicated checks for the source buffer.  Fixes segfault in the
new piglit ARB_framebuffer_object/negative-readpixels-no-rb.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45877
NOTE: This is a candidate for the stable branches.
Reviewed-by: Brian Paul <brianp@vmware.com>
src/mesa/main/readpix.c