Fix three issues reported by coverity in own recent code. Including two potential crashers.
This commit is contained in:
@@ -1422,7 +1422,7 @@ void BKE_mesh_remap_calc_loops_from_dm(
|
||||
}
|
||||
|
||||
if (best_island_index != -1 && isld_steps_src) {
|
||||
best_island = island_store.islands[best_island_index];
|
||||
best_island = use_islands ? island_store.islands[best_island_index] : NULL;
|
||||
as_graph = &as_graphdata[best_island_index];
|
||||
poly_island_index_map = (int *)as_graph->custom_data;
|
||||
BLI_astar_solution_init(as_graph, &as_solution, false);
|
||||
@@ -1488,7 +1488,8 @@ void BKE_mesh_remap_calc_loops_from_dm(
|
||||
BLI_space_transform_apply(space_transform, tmp_co);
|
||||
}
|
||||
|
||||
pidx_src = best_island->indices[last_valid_pidx_isld_src];
|
||||
pidx_src = use_islands ? best_island->indices[last_valid_pidx_isld_src] :
|
||||
last_valid_pidx_isld_src;
|
||||
mp_src = &polys_src[pidx_src];
|
||||
ml_src = &loops_src[mp_src->loopstart];
|
||||
for (j = 0; j < mp_src->totloop; j++, ml_src++) {
|
||||
@@ -1564,7 +1565,8 @@ void BKE_mesh_remap_calc_loops_from_dm(
|
||||
BLI_space_transform_apply(space_transform, tmp_co);
|
||||
}
|
||||
|
||||
pidx_src = best_island->indices[last_valid_pidx_isld_src];
|
||||
pidx_src = use_islands ? best_island->indices[last_valid_pidx_isld_src] :
|
||||
last_valid_pidx_isld_src;
|
||||
mp_src = &polys_src[pidx_src];
|
||||
|
||||
/* Create that one on demand. */
|
||||
|
||||
@@ -367,6 +367,17 @@ static bool data_transfer_layersmapping_cdlayers_multisrc_to_dst(
|
||||
int idx_dst, tot_dst = CustomData_number_of_layers(cd_dst, cddata_type);
|
||||
bool *data_dst_to_delete = NULL;
|
||||
|
||||
if (!use_layers_src) {
|
||||
/* No source at all, we can only delete all dest if requested... */
|
||||
if (use_delete) {
|
||||
idx_dst = tot_dst;
|
||||
while (idx_dst--) {
|
||||
CustomData_free_layer(cd_dst, cddata_type, num_elem_dst, idx_dst);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
switch (tolayers) {
|
||||
case DT_LAYERS_INDEX_DST:
|
||||
idx_dst = tot_dst;
|
||||
|
||||
@@ -1398,9 +1398,9 @@ static int outliner_filter_tree(SpaceOops *soops, ListBase *lb)
|
||||
search_string = soops->search_string;
|
||||
}
|
||||
else {
|
||||
search_string = search_buff;
|
||||
/* Implicitly add heading/trailing wildcards if needed. */
|
||||
BLI_strncpy_ensure_pad(search_string, soops->search_string, '*', sizeof(search_string));
|
||||
BLI_strncpy_ensure_pad(search_buff, soops->search_string, '*', sizeof(search_buff));
|
||||
search_string = search_buff;
|
||||
}
|
||||
|
||||
for (te = lb->first; te; te = ten) {
|
||||
|
||||
Reference in New Issue
Block a user