[Bf-blender-cvs] [c2fbfb421ba] soc-2020-io-performance: Fix out of bounds assert and crash in UV vector.

Ankit Meel noreply at git.blender.org
Thu Jun 11 19:27:33 CEST 2020


Commit: c2fbfb421ba4ea4d9a4740aa2b302bcc455bdc59
Author: Ankit Meel
Date:   Thu Jun 11 22:53:33 2020 +0530
Branches: soc-2020-io-performance
https://developer.blender.org/rBc2fbfb421ba4ea4d9a4740aa2b302bcc455bdc59

Fix out of bounds assert and crash in UV vector.

===================================================================

M	source/blender/io/wavefront_obj/intern/wavefront_obj_exporter.cc

===================================================================

diff --git a/source/blender/io/wavefront_obj/intern/wavefront_obj_exporter.cc b/source/blender/io/wavefront_obj/intern/wavefront_obj_exporter.cc
index 06847604e92..d249ed1f92b 100644
--- a/source/blender/io/wavefront_obj/intern/wavefront_obj_exporter.cc
+++ b/source/blender/io/wavefront_obj/intern/wavefront_obj_exporter.cc
@@ -128,7 +128,7 @@ static void get_uv_coordinates(Mesh *me_eval, OBJ_data_to_export *data_to_export
     UvVertMap *uv_vert_map = BKE_mesh_uv_vert_map_create(
         mpoly, mloop, mloopuv, me_eval->totpoly, me_eval->totvert, limit, false, false);
 
-    data_to_export->tot_uv_vertices = 0;
+    data_to_export->tot_uv_vertices = -1;
     for (int vertex_index = 0; vertex_index < me_eval->totvert; vertex_index++) {
       const UvMapVert *uv_vert = BKE_mesh_uv_vert_map_get_vert(uv_vert_map, vertex_index);
       while (uv_vert != NULL) {
@@ -155,6 +155,7 @@ static void get_uv_coordinates(Mesh *me_eval, OBJ_data_to_export *data_to_export
         uv_vert = uv_vert->next;
       }
     }
+    data_to_export->tot_uv_vertices++;
     BKE_mesh_uv_vert_map_free(uv_vert_map);
     /* No need to go over other layers. */
     break;



More information about the Bf-blender-cvs mailing list