blender/tests/files/io_tests/ply
Brecht Van Lommel 3a572c5745 I/O: Harden geometry import for invalid data
* Use int64_t to avoid overflows, following our C++ guidelines.
* Add various index range checks for code that runs before mesh
  validation.
* Match some loop iteration variables to the size type.
* Ensure number of elements fit into int where needed.
* OBJ vertex weight import issue with || true (debug leftover?).
* USD invalid shape key size check (> instead of >=).
* USD now preserves vertex positions for some invalid topology,
  this the reason for usd_mesh_custom.txt test update.
* Note FBX import has fewer checks because ufbx already handles most.

Some of these are defensive, some prevent actual crashes. Tests were
added for various crashes.

These checks are meant to run in combination with mesh validation. We
try to prevent out of bounds access before validation but leave invalid
topology detection to the validation code.

Pull Request: https://projects.blender.org/blender/blender/pulls/158307
2026-05-13 14:24:11 +02:00
..
reference I/O: Harden geometry import for invalid data 2026-05-13 14:24:11 +02:00
ASCII_wireframe_cube.ply
bin_data_starts_with_lf.ply
bin_data_starts_with_lf_header_crlf.ply
bunny2.ply
color_not_full_a.ply
color_not_full_b.ply
cube_ascii.ply
custom_data_elements.ply
double_xyz_a.ply
double_xyz_b.ply
face_indices_not_first_prop_a.ply
face_indices_not_first_prop_b.ply
face_indices_preceded_by_list_a.ply
face_indices_preceded_by_list_b.ply
face_uvs_colors_a.ply
face_uvs_colors_b.ply
faces_first_a.ply
faces_first_b.ply
float_formats_a.ply
float_formats_b.ply
malformed_face_indices.ply I/O: Harden geometry import for invalid data 2026-05-13 14:24:11 +02:00
malformed_tristrips.ply I/O: Harden geometry import for invalid data 2026-05-13 14:24:11 +02:00
many_small_holes.ply
position_not_full_a.ply
position_not_full_b.ply
tristrips_a.ply
tristrips_b.ply
type_aliases_a.ply
type_aliases_b.ply
type_aliases_be_b.ply
vertex_comp_order_a.ply
vertex_comp_order_b.ply
wireframe_cube.ply