st/mesa: trim calculated userbuffer size
authorKeith Whitwell <keithw@vmware.com>
Wed, 23 Sep 2009 13:40:45 +0000 (14:40 +0100)
committerKeith Whitwell <keithw@vmware.com>
Wed, 23 Sep 2009 17:55:46 +0000 (18:55 +0100)
commitbe66ff51ec98cf583044b3e53a49c41edd803134
tree9833d492c1dcf466e029ae1e1cf262138d952f98
parentbc7546476078dd520af4853f6f0d3f577ec670ec
st/mesa: trim calculated userbuffer size

In get_array_bounds we were previously defining a user buffer sized as
(nr_vertices * stride).  The trouble is that if the vertex data
occupies less than stride bytes, the extra tailing (stride - size)
bytes may extend outside the memory actually allocated by the app and
caused a segfault.

To fix this, define a the buffer bounds to be:

   ptr .. ptr + (nr-1)*stride + element_size
src/mesa/state_tracker/st_draw.c