]> Kevux Git Server - fll/commit
Security: Invalid write in FSS functions and ensure a reset used length on error.
authorKevin Day <thekevinday@gmail.com>
Sat, 10 Dec 2022 16:28:24 +0000 (10:28 -0600)
committerKevin Day <thekevinday@gmail.com>
Sat, 10 Dec 2022 16:53:34 +0000 (10:53 -0600)
commit0b365fd6548b2453a408b6c4798bfab94227590d
treeab87537b0536628b246b84c3a60de2be75252243
parentc5a8108cda8a955525634e007fb8e91b975f1312
Security: Invalid write in FSS functions and ensure a reset used length on error.

The command that triggers this is "fss_basic_write -oc hi there".

An invalid write is happening due to not always performing the array size increase operations.
Update all FSS write functions with more thorough checks.
This problem is being obfuscated by the lossy allocation.

When errors happen the destination->used needs to be consistently reset to the original value on return.

Use the lossy allocation as well for allocation shwere the increase by is a raw digit.
In these specific cases use state.step_small rather than state.step_large.

Rename used_start to destination_used for improved consistency.
level_1/fl_fss/c/fss/basic.c
level_1/fl_fss/c/fss/basic_list.c
level_1/fl_fss/c/fss/embedded_list.c
level_1/fl_fss/c/fss/extended.c
level_1/fl_fss/c/fss/extended_list.c
level_1/fl_fss/c/private-fss.c