diff options
author | José Fonseca <jfonseca@vmware.com> | 2014-01-31 16:44:39 +0000 |
---|---|---|
committer | José Fonseca <jfonseca@vmware.com> | 2014-02-05 10:58:38 +0000 |
commit | 5c975966dcaaa4e781f3baba0fc1e3b7ad4a18a6 (patch) | |
tree | 39c01f3bd78e1a05c10406ea9a99921e0b4dd05a /src/gallium | |
parent | 16215a9723803f535fd3f49b9988b771d4587d65 (diff) | |
download | external_mesa3d-5c975966dcaaa4e781f3baba0fc1e3b7ad4a18a6.zip external_mesa3d-5c975966dcaaa4e781f3baba0fc1e3b7ad4a18a6.tar.gz external_mesa3d-5c975966dcaaa4e781f3baba0fc1e3b7ad4a18a6.tar.bz2 |
tools/trace: Handle index buffer overflow gracefully.
Trivial.
Diffstat (limited to 'src/gallium')
-rwxr-xr-x | src/gallium/tools/trace/dump_state.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/tools/trace/dump_state.py b/src/gallium/tools/trace/dump_state.py index 5257100..bde00ec 100755 --- a/src/gallium/tools/trace/dump_state.py +++ b/src/gallium/tools/trace/dump_state.py @@ -474,7 +474,10 @@ class Context(Dispatcher): indices = [] for i in xrange(info.start, info.start + count): offset = self._state.index_buffer.offset + i*index_size - index, = unpack_from(format, data, offset) + if offset + index_size > len(data): + index = 0 + else: + index, = unpack_from(format, data, offset) indices.append(index) min_index = min(min_index, index) max_index = max(max_index, index) |