diff --git a/src/mca/ptl/tcp/src/ptl_tcp_recvfrag.h b/src/mca/ptl/tcp/src/ptl_tcp_recvfrag.h index 932c1ed0f4..8f3f69149c 100644 --- a/src/mca/ptl/tcp/src/ptl_tcp_recvfrag.h +++ b/src/mca/ptl/tcp/src/ptl_tcp_recvfrag.h @@ -79,7 +79,7 @@ static inline void mca_ptl_tcp_recv_frag_matched(mca_ptl_tcp_recv_frag_t* frag) /* non-contiguous - allocate buffer for receive */ if(NULL == iov.iov_base) { - frag->super.super.frag_addr = malloc(iov.iov_len); + frag->super.super.frag_addr = malloc(header->hdr_frag_length); frag->super.super.frag_size = header->hdr_frag_length; frag->super.frag_is_buffered = true; /* we now have correct offset into users buffer */