Mercurial > hg > early-roguelike
changeset 254:e940e6c00751
Add some braces to a loop in parse_opts().
A for loop had no braces around its body, which was a single if-else
statement. In Advanced Rogue 5, another statement had been added,
accidentally removing the if-else from the loop. This could have
resulted in an out-of-bounds access to the options array.
In the other games, the added braces are only for clarity.
author | John "Elwin" Edwards |
---|---|
date | Fri, 10 Feb 2017 09:02:58 -0500 |
parents | 3d4252fa2ed3 |
children | 69ffcb6b90da |
files | arogue5/options.c arogue7/options.c xrogue/options.c |
diffstat | 3 files changed, 6 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/arogue5/options.c Sat Jan 28 15:49:41 2017 -0500 +++ b/arogue5/options.c Fri Feb 10 09:02:58 2017 -0500 @@ -377,6 +377,7 @@ * Look it up and deal with it */ for (op = optlist; op <= &optlist[NUM_OPTS-1]; op++) + { /* None of these can be changed if using system savefiles. */ if (use_savedir && (!strcmp(op->o_name, "name") || !strcmp(op->o_name, "file") || @@ -442,6 +443,7 @@ *(bool *)op->o_opt = FALSE; break; } + } /* * skip to start of next option name
--- a/arogue7/options.c Sat Jan 28 15:49:41 2017 -0500 +++ b/arogue7/options.c Fri Feb 10 09:02:58 2017 -0500 @@ -350,6 +350,7 @@ * Look it up and deal with it */ for (op = optlist; op <= &optlist[NUM_OPTS-1]; op++) + { if (EQSTR(str, op->o_name, len)) { if (op->o_putfunc == put_bool) /* if option is a boolean */ @@ -412,6 +413,7 @@ *(bool *)op->o_opt = FALSE; break; } + } /* * skip to start of next option name
--- a/xrogue/options.c Sat Jan 28 15:49:41 2017 -0500 +++ b/xrogue/options.c Fri Feb 10 09:02:58 2017 -0500 @@ -374,6 +374,7 @@ * Look it up and deal with it */ for (op = optlist; op < &optlist[NUM_OPTS]; op++) + { if (EQSTR(str, op->o_name, len)) { if (op->o_putfunc == put_bool) /* if option is a boolean */ @@ -435,6 +436,7 @@ *(bool *)op->o_opt = FALSE; break; } + } /* * skip to start of next option name