1
0
Fork 0
forked from len0rd/rockbox

[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
This commit is contained in:
William Wilgus 2024-06-04 16:43:58 -04:00 committed by William Wilgus
parent d68c314cea
commit c96d728d81

View file

@ -963,6 +963,7 @@ bool dbg_hw_info_audio(void)
struct imx233_audioout_info_t out = imx233_audioout_get_info(); struct imx233_audioout_info_t out = imx233_audioout_get_info();
struct imx233_audioin_info_t in = imx233_audioin_get_info(); struct imx233_audioin_info_t in = imx233_audioin_get_info();
int line = 0; int line = 0;
size_t len;
#define display_sys(st, sys, name) \ #define display_sys(st, sys, name) \
if(st.sys) \ if(st.sys) \
{ \ { \
@ -971,15 +972,17 @@ bool dbg_hw_info_audio(void)
for(int i = 0; i < 2; i++) \ for(int i = 0; i < 2; i++) \
{ \ { \
if(st.sys##mute[i]) \ if(st.sys##mute[i]) \
strcat(buffer, "mute"); \ strlcat(buffer, "mute", 64); \
else \ else { \
snprintf(buffer + strlen(buffer), 64, "%d.%d", \ len = strlen(buffer); \
snprintf(buffer + len, 64 - len, "%d.%d", \
/* properly handle negative values ! */ \ /* properly handle negative values ! */ \
st.sys##vol[i] / 10, (10 + (st.sys##vol[i]) % 10) % 10); \ st.sys##vol[i] / 10, (10 + (st.sys##vol[i]) % 10) % 10); \
} \
if(i == 0) \ if(i == 0) \
strcat(buffer, " / "); \ strlcat(buffer, " / ", 64); \
else \ else \
strcat(buffer, " dB"); \ strlcat(buffer, " dB", 64); \
} \ } \
lcd_putsf(0, line++, "%s", buffer); \ lcd_putsf(0, line++, "%s", buffer); \
} \ } \