[Bf-blender-cvs] [2271b9b584a] master: Cleanup: Avoid ASAN report when converting displist to mesh
Hans Goudey
noreply at git.blender.org
Mon Jun 28 23:56:38 CEST 2021
Commit: 2271b9b584ae7af25009ae0c00a55a8feac1c70c
Author: Hans Goudey
Date: Mon Jun 28 16:56:30 2021 -0500
Branches: master
https://developer.blender.org/rB2271b9b584ae7af25009ae0c00a55a8feac1c70c
Cleanup: Avoid ASAN report when converting displist to mesh
Don't call `memcpy` with a null destination (and 0 size).
===================================================================
M source/blender/blenkernel/intern/mesh_convert.c
===================================================================
diff --git a/source/blender/blenkernel/intern/mesh_convert.c b/source/blender/blenkernel/intern/mesh_convert.c
index 825963a2210..cfad5e1100d 100644
--- a/source/blender/blenkernel/intern/mesh_convert.c
+++ b/source/blender/blenkernel/intern/mesh_convert.c
@@ -545,10 +545,18 @@ Mesh *BKE_mesh_new_nomain_from_curve_displist(const Object *ob, const ListBase *
mesh = BKE_mesh_new_nomain(totvert, totedge, 0, totloop, totpoly);
mesh->runtime.cd_dirty_vert |= CD_MASK_NORMAL;
- memcpy(mesh->mvert, allvert, totvert * sizeof(MVert));
- memcpy(mesh->medge, alledge, totedge * sizeof(MEdge));
- memcpy(mesh->mloop, allloop, totloop * sizeof(MLoop));
- memcpy(mesh->mpoly, allpoly, totpoly * sizeof(MPoly));
+ if (totvert != 0) {
+ memcpy(mesh->mvert, allvert, totvert * sizeof(MVert));
+ }
+ if (totedge != 0) {
+ memcpy(mesh->medge, alledge, totedge * sizeof(MEdge));
+ }
+ if (totloop != 0) {
+ memcpy(mesh->mloop, allloop, totloop * sizeof(MLoop));
+ }
+ if (totpoly != 0) {
+ memcpy(mesh->mpoly, allpoly, totpoly * sizeof(MPoly));
+ }
if (alluv) {
const char *uvname = "UVMap";
More information about the Bf-blender-cvs
mailing list