]> 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:28:24 +0000 (10:28 -0600)
commit9ade4b414be5c715d6f0c1e168a98d4b6729f96c
tree8be9051fb6b59beb4be527cda7d4589f6309cd0a
parentfc5ed2c56651c606c849464a65092772b9371839
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