Skip to content

Commit 7fb2b07

Browse files
committed
Merge pull request open-mpi#754 from hjelmn/v2.x_opal_flist_fix
opal_free_list: fix strange size check
2 parents 6185a5f + 39715cc commit 7fb2b07

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

opal/class/opal_free_list.c

+5-3
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,10 @@ int opal_free_list_init (opal_free_list_t *flist, size_t frag_size, size_t frag_
121121
return OPAL_ERROR;
122122
}
123123

124+
if (frag_class && frag_size < frag_class->cls_sizeof) {
125+
frag_size = frag_class->cls_sizeof;
126+
}
127+
124128
if (frag_size > flist->fl_frag_size) {
125129
flist->fl_frag_size = frag_size;
126130
}
@@ -164,9 +168,7 @@ int opal_free_list_grow_st (opal_free_list_t* flist, size_t num_elements)
164168
return OPAL_ERR_TEMP_OUT_OF_RESOURCE;
165169
}
166170

167-
head_size = (NULL == flist->fl_mpool) ? flist->fl_frag_size:
168-
flist->fl_frag_class->cls_sizeof;
169-
head_size = OPAL_ALIGN(head_size, flist->fl_frag_alignment, size_t);
171+
head_size = OPAL_ALIGN(flist->fl_frag_size, flist->fl_frag_alignment, size_t);
170172

171173
/* calculate head allocation size */
172174
alloc_size = num_elements * head_size + sizeof(opal_free_list_memory_t) +

0 commit comments

Comments
 (0)