diff --git a/src/slurmctld/power_save.c b/src/slurmctld/power_save.c index f6a17f371bd187f2b8a1e4da15a0971b9413cb2b..bb7192e23d162fe1032131ccf578825fae8fb3d6 100644 --- a/src/slurmctld/power_save.c +++ b/src/slurmctld/power_save.c @@ -141,7 +141,7 @@ static void _do_power_work(void) bit_set(wake_node_bitmap, i); } if ((susp_state == 0) - && (resume_rate == 0) || (resume_cnt <= resume_rate)) + && ((resume_rate == 0) || (resume_cnt <= resume_rate)) && (base_state == NODE_STATE_IDLE) && (node_ptr->last_idle < (now - idle_time)) && ((exc_node_bitmap == NULL) || @@ -258,6 +258,9 @@ static pid_t _run_prog(char *prog, char *arg) char program[1024], arg0[1024], arg1[1024], *pname; pid_t child; + if (prog == NULL) /* disabled, useful for testing */ + return -1; + strncpy(program, prog, sizeof(program)); pname = strrchr(program, '/'); if (pname == NULL)