u_vbuf_mgr: fix segfault
authorMarek Olšák <maraeo@gmail.com>
Sat, 12 Feb 2011 02:04:21 +0000 (03:04 +0100)
committerMarek Olšák <maraeo@gmail.com>
Sat, 12 Feb 2011 02:08:39 +0000 (03:08 +0100)
max_index could have been less than min_index, which later caused integer
underflow followed by a segfault in memcpy.

src/gallium/auxiliary/util/u_vbuf_mgr.c

index ca3b4dc..5f5a554 100644 (file)
@@ -562,7 +562,7 @@ void u_vbuf_mgr_draw_begin(struct u_vbuf_mgr *mgrb,
    int min_index, max_index;
 
    min_index = info->min_index - info->index_bias;
-   max_index = MIN2(info->max_index, mgr->b.max_index) - info->index_bias;
+   max_index = info->max_index - info->index_bias;
 
    /* Translate vertices with non-native layouts or formats. */
    if (mgr->incompatible_vb_layout || mgr->ve->incompatible_layout) {