mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
equipment: sanitize 'ws_info' loop limits
Instead of a constant or a macro for the maximum number of 'ws_info' elements the 100 literal was used. Define MAX_WS_INFO in dive.h and use it everywhere. Also clamp loops that iterate `ws_info' to MAX_WS_INFO. Prevents potential out-of-bounds reading, similarly to the previous commit about 'tank_info'. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
This commit is contained in:
parent
769aca9e95
commit
06a870c232
4 changed files with 12 additions and 12 deletions
|
@ -107,7 +107,7 @@ bool WeightModel::setData(const QModelIndex &index, const QVariant &value, int r
|
|||
if (!ws->description || gettextFromC::tr(ws->description) != vString) {
|
||||
// loop over translations to see if one matches
|
||||
int i = -1;
|
||||
while (ws_info[++i].name) {
|
||||
while (ws_info[++i].name && i < MAX_WS_INFO) {
|
||||
if (gettextFromC::tr(ws_info[i].name) == vString) {
|
||||
ws->description = copy_string(ws_info[i].name);
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue