1
1

This one can lead to memory corruptions. We modify the content of a buffer after calling a function supposed to free it. It happens right now that the destruct function just put it in the cache but still I don't think we should touch the buffer anymore.

This commit was SVN r8147.
Этот коммит содержится в:
George Bosilca 2005-11-13 23:07:37 +00:00
родитель 2749870f2c
Коммит bc2e80cbc6

Просмотреть файл

@ -228,7 +228,10 @@ static inline void mca_bml_base_alloc(mca_bml_base_btl_t* bml_btl, mca_btl_base
static inline void mca_bml_base_free(mca_bml_base_btl_t* bml_btl, mca_btl_base_descriptor_t* des) { static inline void mca_bml_base_free(mca_bml_base_btl_t* bml_btl, mca_btl_base_descriptor_t* des) {
bml_btl->btl_free( bml_btl->btl, des ); bml_btl->btl_free( bml_btl->btl, des );
des->des_context = NULL; /* The previous function is supposed to release the des object
* so we should not touch it anymore.
*/
/*des->des_context = NULL;*/
} }
static inline int mca_bml_base_send(mca_bml_base_btl_t* bml_btl, mca_btl_base_descriptor_t* des, mca_btl_base_tag_t tag) { static inline int mca_bml_base_send(mca_bml_base_btl_t* bml_btl, mca_btl_base_descriptor_t* des, mca_btl_base_tag_t tag) {