summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx233
diff options
context:
space:
mode:
authorWilliam Wilgus <wilgus.william@gmail.com>2024-06-04 16:43:58 -0400
committerWilliam Wilgus <me.theuser@yahoo.com>2024-06-05 19:16:07 -0400
commitc96d728d8148a06a311dc56845a8e16108bdd847 (patch)
treec4ee4bb9ecf90beaab122a1c920a68b063c207b2 /firmware/target/arm/imx233
parentd68c314cea350df06cd6c664d21628fa4d17d28e (diff)
downloadrockbox-c96d728d8148a06a311dc56845a8e16108bdd847.tar.gz
rockbox-c96d728d8148a06a311dc56845a8e16108bdd847.zip
[coverity] debug-imx233.c dbg_hw_info_audio() use strlcat, fix snprintf call
technically this isn't currently causing any issue but coverity correctly identified the potential for buffer ovfl Change-Id: I4af462c9860c44f22d05b5b2b4c685364823d395
Diffstat (limited to 'firmware/target/arm/imx233')
-rw-r--r--firmware/target/arm/imx233/debug-imx233.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/firmware/target/arm/imx233/debug-imx233.c b/firmware/target/arm/imx233/debug-imx233.c
index 4487952162..5d759e40aa 100644
--- a/firmware/target/arm/imx233/debug-imx233.c
+++ b/firmware/target/arm/imx233/debug-imx233.c
@@ -963,6 +963,7 @@ bool dbg_hw_info_audio(void)
963 struct imx233_audioout_info_t out = imx233_audioout_get_info(); 963 struct imx233_audioout_info_t out = imx233_audioout_get_info();
964 struct imx233_audioin_info_t in = imx233_audioin_get_info(); 964 struct imx233_audioin_info_t in = imx233_audioin_get_info();
965 int line = 0; 965 int line = 0;
966 size_t len;
966#define display_sys(st, sys, name) \ 967#define display_sys(st, sys, name) \
967 if(st.sys) \ 968 if(st.sys) \
968 { \ 969 { \
@@ -971,15 +972,17 @@ bool dbg_hw_info_audio(void)
971 for(int i = 0; i < 2; i++) \ 972 for(int i = 0; i < 2; i++) \
972 { \ 973 { \
973 if(st.sys##mute[i]) \ 974 if(st.sys##mute[i]) \
974 strcat(buffer, "mute"); \ 975 strlcat(buffer, "mute", 64); \
975 else \ 976 else { \
976 snprintf(buffer + strlen(buffer), 64, "%d.%d", \ 977 len = strlen(buffer); \
978 snprintf(buffer + len, 64 - len, "%d.%d", \
977 /* properly handle negative values ! */ \ 979 /* properly handle negative values ! */ \
978 st.sys##vol[i] / 10, (10 + (st.sys##vol[i]) % 10) % 10); \ 980 st.sys##vol[i] / 10, (10 + (st.sys##vol[i]) % 10) % 10); \
981 } \
979 if(i == 0) \ 982 if(i == 0) \
980 strcat(buffer, " / "); \ 983 strlcat(buffer, " / ", 64); \
981 else \ 984 else \
982 strcat(buffer, " dB"); \ 985 strlcat(buffer, " dB", 64); \
983 } \ 986 } \
984 lcd_putsf(0, line++, "%s", buffer); \ 987 lcd_putsf(0, line++, "%s", buffer); \
985 } \ 988 } \