Issue reported by argrath: if getoptstr() executed its loop to
find the latest phase that set a role/race/gender/alignment option
value, the first iteration of the loop would use an index that's
out of bounds.
The code in question is wrong but happens to not be used, so the
out of bounds access doesn't occur. Fix the value for the first
iteration in case the offending code eventually gets used.
Fixes #960
/* find non-Null, in order optvals[][play_opt], [cmdline_opt],
[environ_opt], [rc_file_opt], [syscf_opt], [builtin_opt] */
- for (phase = num_opt_phases; phase >= 0; --phase)
+ for (phase = num_opt_phases - 1; phase >= 0; --phase)
if (roleoptvals[roleoptindx][phase]) {
ophase = phase;
break;