Skip to content

Commit 77e9b8a

Browse files
Potential fix for code scanning alert no. 19: Potentially overflowing call to snprintf
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
1 parent 0f48b3e commit 77e9b8a

File tree

1 file changed

+28
-5
lines changed

1 file changed

+28
-5
lines changed

applications/zpc/components/zwave_api/src/zwapi_connection.c

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,37 @@ static const char *zwapi_frame_to_string(const uint8_t *buffer,
5050
// Don't log the SOF byte.
5151
continue;
5252
} else if (i == 1) {
53-
index += snprintf(message + index, sizeof(message) - index, "Length=");
53+
{
54+
int n = snprintf(message + index, sizeof(message) - index, "Length=");
55+
if (n < 0 || n >= sizeof(message) - index) {
56+
break;
57+
}
58+
index += n;
59+
}
5460
} else if (i == 2) {
55-
index += snprintf(message + index, sizeof(message) - index, "Type=");
61+
{
62+
int n = snprintf(message + index, sizeof(message) - index, "Type=");
63+
if (n < 0 || n >= sizeof(message) - index) {
64+
break;
65+
}
66+
index += n;
67+
}
5668
} else if (i == 3) {
57-
index += snprintf(message + index, sizeof(message) - index, "Cmd=");
69+
{
70+
int n = snprintf(message + index, sizeof(message) - index, "Cmd=");
71+
if (n < 0 || n >= sizeof(message) - index) {
72+
break;
73+
}
74+
index += n;
75+
}
76+
}
77+
{
78+
int n = snprintf(message + index, sizeof(message) - index, "%02X ", buffer[i]);
79+
if (n < 0 || n >= sizeof(message) - index) {
80+
break;
81+
}
82+
index += n;
5883
}
59-
index
60-
+= snprintf(message + index, sizeof(message) - index, "%02X ", buffer[i]);
6184
}
6285
return message;
6386
}

0 commit comments

Comments
 (0)