Commit: 357e519575411cc338acfe899fde6e5ea3476801
Author: Jacques Lucke
Date:   Tue Jan 5 16:17:21 2021 +0100
Branches: master
https://developer.blender.org/rB357e519575411cc338acfe899fde6e5ea3476801

Fix T83282: division by zero when creating psys tasks

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

M       source/blender/blenkernel/intern/particle_system.c

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

diff --git a/source/blender/blenkernel/intern/particle_system.c 
b/source/blender/blenkernel/intern/particle_system.c
index 71df28c8b42..ad98079bc27 100644
--- a/source/blender/blenkernel/intern/particle_system.c
+++ b/source/blender/blenkernel/intern/particle_system.c
@@ -475,15 +475,15 @@ void psys_tasks_create(ParticleThreadContext *ctx,
 {
   ParticleTask *tasks;
   int numtasks = min_ii(BLI_system_thread_count() * 4, endpart - startpart);
-  float particles_per_task = (float)(endpart - startpart) / (float)numtasks, 
p, pnext;
-  int i;
+  float particles_per_task = numtasks > 0 ? (float)(endpart - startpart) / 
(float)numtasks : 0;
 
   tasks = MEM_callocN(sizeof(ParticleTask) * numtasks, "ParticleThread");
   *r_numtasks = numtasks;
   *r_tasks = tasks;
 
-  p = (float)startpart;
-  for (i = 0; i < numtasks; i++, p = pnext) {
+  float pnext;
+  float p = (float)startpart;
+  for (int i = 0; i < numtasks; i++, p = pnext) {
     pnext = p + particles_per_task;
 
     tasks[i].ctx = ctx;

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to