[Scummvm-tracker] [ScummVM :: Bugs] #15294: AGS: Incorrect Use of Bitwise OR Instead of Logical OR in SetSliderValue
ScummVM :: Bugs
trac at scummvm.org
Thu Jul 25 06:53:08 UTC 2024
#15294: AGS: Incorrect Use of Bitwise OR Instead of Logical OR in SetSliderValue
--------------------+--------------------------
Reporter: RainRat | Owner: (none)
Type: defect | Status: new
Priority: low | Component: Engine: AGS
Version: | Resolution:
Keywords: | Game:
--------------------+--------------------------
Description changed by RainRat:
Old description:
> In the `SetSliderValue` and `GetSliderValue` functions, the validation
> checks for the GUI number (`guin`) are using the bitwise OR operator
> (`|`) instead of the logical OR operator (`||`).
>
> Affected Code:
>
> {{{
> void SetSliderValue(int guin, int objn, int valn) {
> if ((guin < 0) | (guin >= _GP(game).numgui)) quit("!SetSliderValue:
> invalid GUI number");
> [...]
> int GetSliderValue(int guin, int objn) {
> if ((guin < 0) | (guin >= _GP(game).numgui)) quit("!GetSliderValue:
> invalid GUI number");
> }}}
>
> Corrected Code:
>
> {{{
> void SetSliderValue(int guin, int objn, int valn) {
> if ((guin < 0) || (guin >= _GP(game).numgui)) quit("!SetSliderValue:
> invalid GUI number");
> [...]
> int GetSliderValue(int guin, int objn) {
> if ((guin < 0) || (guin >= _GP(game).numgui)) quit("!GetSliderValue:
> invalid GUI number");
> }}}
New description:
In `scummvm\engines\ags\engine\ac\global_slider.cpp` the `SetSliderValue`
and `GetSliderValue` functions, the validation checks for the GUI number
(`guin`) are using the bitwise OR operator (`|`) instead of the logical OR
operator (`||`).
Affected Code:
{{{
void SetSliderValue(int guin, int objn, int valn) {
if ((guin < 0) | (guin >= _GP(game).numgui)) quit("!SetSliderValue:
invalid GUI number");
[...]
int GetSliderValue(int guin, int objn) {
if ((guin < 0) | (guin >= _GP(game).numgui)) quit("!GetSliderValue:
invalid GUI number");
}}}
Corrected Code:
{{{
void SetSliderValue(int guin, int objn, int valn) {
if ((guin < 0) || (guin >= _GP(game).numgui)) quit("!SetSliderValue:
invalid GUI number");
[...]
int GetSliderValue(int guin, int objn) {
if ((guin < 0) || (guin >= _GP(game).numgui)) quit("!GetSliderValue:
invalid GUI number");
}}}
--
--
Ticket URL: <https://bugs.scummvm.org/ticket/15294#comment:1>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list