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.
Этот коммит содержится в:
родитель
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) {
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user