[dpdk-dev] app/testpmd: fix strcat can overrun fixed-size string
Commit Message
CID 13307 (#1 of 1): Copy into fixed size buffer (STRING_OVERFLOW)
fixed_size_dest: You might overrun the 128 byte fixed-size string fwd_modes
by copying fwd_eng->fwd_mode_name without checking the length.
Fixes: 769ce6b17835 ("app/testpmd: list forwarding engines")
Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
---
app/test-pmd/config.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
Comments
2016-04-11 18:03, Tomasz Kulasek:
> CID 13307 (#1 of 1): Copy into fixed size buffer (STRING_OVERFLOW)
> fixed_size_dest: You might overrun the 128 byte fixed-size string fwd_modes
> by copying fwd_eng->fwd_mode_name without checking the length.
>
> Fixes: 769ce6b17835 ("app/testpmd: list forwarding engines")
>
> Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Applied, thanks
@@ -1673,8 +1673,10 @@ list_pkt_forwarding_modes(void)
if (strlen (fwd_modes) == 0) {
while ((fwd_eng = fwd_engines[i++]) != NULL) {
- strcat(fwd_modes, fwd_eng->fwd_mode_name);
- strcat(fwd_modes, separator);
+ strncat(fwd_modes, fwd_eng->fwd_mode_name, sizeof(fwd_modes) -
+ strlen(fwd_modes) - 1);
+ strncat(fwd_modes, separator, sizeof(fwd_modes) - strlen(fwd_modes)
+ - 1);
}
fwd_modes[strlen(fwd_modes) - strlen(separator)] = '\0';
}