[mpich-discuss] Incorrect error checking?
Nick Radcliffe
nradclif at cray.com
Tue Jun 18 17:25:52 CDT 2019
I recently noticed that a parameter check in MPII_Win_get_attr looks a bit off:
/* A common user error is to pass the address of a 4-byte
* int when the address of a pointer (or an address-sized int)
* should have been used. We can test for this specific
* case. Note that this code assumes sizeof(intptr_t) is
* a power of 2. */
if ((intptr_t) attribute_val & (sizeof(intptr_t) - 1)) {
MPIR_ERR_SETANDSTMT(mpi_errno, MPI_ERR_ARG, goto fn_fail, "**attrnotptr");
}
The comment indicates that the check is testing "attribute_val" to see if a pointer to int was passed in, rather than a double pointer or pointer to an integer that can store an address. But the check seems to only be testing for 8 byte alignment (and failing if not aligned). Am I missing something here?
Nick Radcliffe Software Engineer | Cray Inc.
2131 Lindau Ln #1000 | Bloomington, MN 55425
+1-651-605-8864 nradclif at cray.com<mailto:email at cray.com> www.cray.com<http://www.cray.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20190618/a8c589dc/attachment.html>
More information about the discuss
mailing list