From e568b211e4af1fad5bb3821814849755e685ab1e Mon Sep 17 00:00:00 2001 From: Ralph Castain Date: Tue, 10 Jan 2017 15:30:50 -0800 Subject: [PATCH] Silence Coverity CID 1398541 Signed-off-by: Ralph Castain --- .../pmix2x/pmix/src/mca/ptl/base/ptl_base_sendrecv.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/opal/mca/pmix/pmix2x/pmix/src/mca/ptl/base/ptl_base_sendrecv.c b/opal/mca/pmix/pmix2x/pmix/src/mca/ptl/base/ptl_base_sendrecv.c index 063909da28..544e0e55e6 100644 --- a/opal/mca/pmix/pmix2x/pmix/src/mca/ptl/base/ptl_base_sendrecv.c +++ b/opal/mca/pmix/pmix2x/pmix/src/mca/ptl/base/ptl_base_sendrecv.c @@ -200,7 +200,15 @@ retry: /* header was fully written, but only a part of the msg data was written */ msg->hdr_sent = true; rc -= msg->sdbytes; - msg->sdptr = (char *)msg->data->base_ptr + rc; + if (NULL != msg->data) { + /* technically, this should never happen as iov_count + * would be 1 for a zero-byte message, and so we cannot + * have a case where we write the header and part of the + * msg. However, code checkers don't know that and are + * fooled by our earlier check for NULL, and so + * we silence their warnings by using this check */ + msg->sdptr = (char *)msg->data->base_ptr + rc; + } msg->sdbytes = ntohl(msg->hdr.nbytes) - rc; } return PMIX_ERR_RESOURCE_BUSY;