Index: ompi/mca/pml/ob1/pml_ob1_recvfrag.h =================================================================== --- ompi/mca/pml/ob1/pml_ob1_recvfrag.h (revision 27446) +++ ompi/mca/pml/ob1/pml_ob1_recvfrag.h (working copy) @@ -69,7 +69,9 @@ unsigned char* _ptr = (unsigned char*)frag->addr; \ /* init recv_frag */ \ frag->btl = btl; \ - frag->hdr = *(mca_pml_ob1_hdr_t*)hdr; \ + _size = (segs[0].seg_len < sizeof(mca_pml_ob1_hdr_t)) ? \ + segs[0].seg_len : sizeof(mca_pml_ob1_hdr_t); \ + memcpy( &frag->hdr, hdr, _size); \ frag->num_segments = 1; \ _size = segs[0].seg_len; \ for( i = 1; i < cnt; i++ ) { \