Browse Source

Avoid spurious static analysis warnings

Samuel Thibault 4 years ago
parent
commit
6a63c40ebe
2 changed files with 4 additions and 1 deletions
  1. 3 1
      src/datawizard/coherency.c
  2. 1 0
      src/datawizard/memalloc.c

+ 3 - 1
src/datawizard/coherency.c

@@ -864,8 +864,10 @@ uint32_t _starpu_data_get_footprint(starpu_data_handle_t handle)
 void _starpu_release_data_on_node(starpu_data_handle_t handle, uint32_t default_wt_mask, enum starpu_data_access_mode down_to_mode, struct _starpu_data_replicate *replicate)
 {
 	uint32_t wt_mask;
-	const size_t max_wt_mask = sizeof(wt_mask) * 8;
+	size_t max_wt_mask = sizeof(wt_mask) * 8;
 	unsigned wt_count = starpu_memory_nodes_get_count();
+	if (max_wt_mask > STARPU_MAXNODES)
+		max_wt_mask = STARPU_MAXNODES;
 	if (wt_count > max_wt_mask)
 		wt_count = max_wt_mask;
 

+ 1 - 0
src/datawizard/memalloc.c

@@ -552,6 +552,7 @@ static void reuse_mem_chunk(unsigned node, struct _starpu_data_replicate *new_re
 
 int starpu_data_can_evict(starpu_data_handle_t handle, unsigned node, enum starpu_is_prefetch is_prefetch)
 {
+	STARPU_ASSERT(node < STARPU_MAXNODES);
 	/* This data should be written through to this node, avoid dropping it! */
 	if (node < sizeof(handle->wt_mask) * 8 && handle->wt_mask & (1<<node))
 		return 0;