Skip to content

Conversation

@jjhursey
Copy link
Member

  • If the count x dt_extent is greater than INT_MAX then this
    will overflow the offset variable used to offset the buffer.
    The result was that the offset overflowed becoming negative
    causing the reduction to be performed in the incorrect memory
    location producing a wrong answer in the resulting buffers.
  • By preserving this value as a size_t we avoid the int overflow
    at the root of the problem.

 * If the `count x dt_extent` is greater than INT_MAX then this
   will overflow the `offset` variable used to offset the buffer.
   The result was that the offset overflowed becoming negative
   causing the reduction to be performed in the incorrect memory
   location producing a wrong answer in the resulting buffers.
 * By preserving this value as a size_t we avoid the int overflow
   at the root of the problem.

Signed-off-by: Joshua Hursey <[email protected]>
@jjhursey jjhursey merged commit 2199bda into open-mpi:master Nov 2, 2021
@jjhursey jjhursey deleted the fix-libnbc-di branch November 2, 2021 00:49
@jjhursey
Copy link
Member Author

jjhursey commented Nov 2, 2021

Cherry picked to release branches:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants