Module: Mesa Branch: master Commit: f32f80e19d2f772b29ab3f3346ca524be356989e URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f32f80e19d2f772b29ab3f3346ca524be356989e
Author: Edward O'Callaghan <[email protected]> Date: Wed Dec 9 20:07:57 2015 +1100 gallium/util: Make u_prims_for_vertices() safe Let us avoid trapping in hardware from a SIGFPE and instead assert on a zero divisor. Hint: This can occur if a PIPE_PRIM_? is not handled in u_prim_vertex_count() that results in ' info ' not being initialized in the expected manner. Further, we also fix a possibly NULL pointer dereference from ' info ' being NULL from a u_prim_vertex_count() call. Signed-off-by: Edward O'Callaghan <[email protected]> Signed-off-by: Marek Olšák <[email protected]> --- src/gallium/auxiliary/util/u_prim.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/auxiliary/util/u_prim.h b/src/gallium/auxiliary/util/u_prim.h index 3668015..a09c315 100644 --- a/src/gallium/auxiliary/util/u_prim.h +++ b/src/gallium/auxiliary/util/u_prim.h @@ -145,6 +145,9 @@ u_prims_for_vertices(unsigned prim, unsigned num) { const struct u_prim_vertex_count *info = u_prim_vertex_count(prim); + assert(info); + assert(info->incr != 0); + if (num < info->min) return 0; _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
