From a6b869ed68f8be592419371eea5b36887efdb5f8 Mon Sep 17 00:00:00 2001 From: Jeff Squyres Date: Wed, 4 Jan 2006 22:29:09 +0000 Subject: [PATCH] Avoid a false positive in bcheck This commit was SVN r8643. --- orte/mca/oob/tcp/oob_tcp.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/orte/mca/oob/tcp/oob_tcp.c b/orte/mca/oob/tcp/oob_tcp.c index e8cf9ab153..1a44a26ba2 100644 --- a/orte/mca/oob/tcp/oob_tcp.c +++ b/orte/mca/oob/tcp/oob_tcp.c @@ -463,7 +463,12 @@ static void mca_oob_tcp_recv_handler(int sd, short flags, void* user) } OBJ_RELEASE(event); + /* Some mem checkers don't realize that hdr will guarantee to be + fully filled in during the read(), below :-( */ + OMPI_DEBUG_ZERO(hdr); + /* recv the process identifier */ + hdr.msg_src.cellid = 78; while((rc = recv(sd, (char *)&hdr, sizeof(hdr), 0)) != sizeof(hdr)) { if(rc >= 0) { if(mca_oob_tcp_component.tcp_debug > 1) { @@ -480,6 +485,10 @@ static void mca_oob_tcp_recv_handler(int sd, short flags, void* user) return; } } + assert(rc == sizeof(hdr)); + if (rc != sizeof(hdr)) { + abort(); + } MCA_OOB_TCP_HDR_NTOH(&hdr); /* dispatch based on message type */