@@ -118,22 +118,34 @@ void zwave_sl_log_nif_data(zwave_node_id_t node_id,
118
118
char message [DEBUG_MESSAGE_BUFFER_LENGTH ];
119
119
uint16_t index = 0 ;
120
120
121
- index += snprintf (message + index ,
122
- sizeof (message ) - index ,
123
- "NIF from NodeID: %d" ,
124
- node_id );
125
-
126
- index += snprintf (message + index ,
127
- sizeof (message ) - index ,
128
- " Capability/Security bytes: 0x%02X 0x%02X - " ,
129
- node_info -> listening_protocol ,
130
- node_info -> optional_protocol );
121
+ int n = snprintf (message + index ,
122
+ sizeof (message ) - index ,
123
+ "NIF from NodeID: %d" ,
124
+ node_id );
125
+ if (n < 0 || n >= (int )(sizeof (message ) - index )) {
126
+ break ;
127
+ }
128
+ index += n ;
129
+
130
+ n = snprintf (message + index ,
131
+ sizeof (message ) - index ,
132
+ " Capability/Security bytes: 0x%02X 0x%02X - " ,
133
+ node_info -> listening_protocol ,
134
+ node_info -> optional_protocol );
135
+ if (n < 0 || n >= (int )(sizeof (message ) - index )) {
136
+ break ;
137
+ }
138
+ index += n ;
131
139
132
140
if (node_info -> optional_protocol
133
141
& ZWAVE_NODE_INFO_OPTIONAL_PROTOCOL_CONTROLLER_MASK ) {
134
- index += snprintf (message + index ,
135
- sizeof (message ) - index ,
136
- "The node is a controller - " );
142
+ n = snprintf (message + index ,
143
+ sizeof (message ) - index ,
144
+ "The node is a controller - " );
145
+ if (n < 0 || n >= (int )(sizeof (message ) - index )) {
146
+ break ;
147
+ }
148
+ index += n ;
137
149
} else {
138
150
index += snprintf (message + index ,
139
151
sizeof (message ) - index ,
@@ -142,7 +154,11 @@ void zwave_sl_log_nif_data(zwave_node_id_t node_id,
142
154
143
155
if (node_info -> listening_protocol
144
156
& ZWAVE_NODE_INFO_LISTENING_PROTOCOL_LISTENING_MASK ) {
145
- index += snprintf (message + index , sizeof (message ) - index , "AL mode - " );
157
+ n = snprintf (message + index , sizeof (message ) - index , "AL mode - " );
158
+ if (n < 0 || n >= (int )(sizeof (message ) - index )) {
159
+ break ;
160
+ }
161
+ index += n ;
146
162
} else if (node_info -> optional_protocol
147
163
& (ZWAVE_NODE_INFO_OPTIONAL_PROTOCOL_SENSOR_1000MS_MASK
148
164
| ZWAVE_NODE_INFO_OPTIONAL_PROTOCOL_SENSOR_250MS_MASK )) {
@@ -164,10 +180,14 @@ void zwave_sl_log_nif_data(zwave_node_id_t node_id,
164
180
node_info -> specific_device_class );
165
181
166
182
for (uint8_t i = 0 ; i < node_info -> command_class_list_length ; i ++ ) {
167
- index += snprintf (message + index ,
168
- sizeof (message ) - index ,
169
- "%02X " ,
170
- node_info -> command_class_list [i ]);
183
+ n = snprintf (message + index ,
184
+ sizeof (message ) - index ,
185
+ "%02X " ,
186
+ node_info -> command_class_list [i ]);
187
+ if (n < 0 || n >= (int )(sizeof (message ) - index )) {
188
+ break ;
189
+ }
190
+ index += n ;
171
191
}
172
192
173
193
sl_log_debug (LOG_TAG , "%s" , message );
0 commit comments