diff --git a/src/plugins/mpi/pmi2/agent.c b/src/plugins/mpi/pmi2/agent.c index 4e80dd4ee569620654cb097831ae81866bad73c2..843d4fe7441b33395ea0e0862c9ee7fbc6f601b4 100644 --- a/src/plugins/mpi/pmi2/agent.c +++ b/src/plugins/mpi/pmi2/agent.c @@ -258,7 +258,7 @@ _handle_pmi1_init(int fd, int lrank) debug3("mpi/pmi2: in _handle_pmi1_init"); while ( (n = read(fd, buf, 64)) < 0 && errno == EINTR); - if (n < 0) { + if ((n < 0) || (n >= 64)) { error("mpi/pmi2: failed to read PMI1 init command"); return SLURM_ERROR; }