12
12
*****************************************************************************/
13
13
14
14
//Generic includes
15
+ #include <assert.h>
15
16
#include <stdlib.h>
16
17
#include <stdio.h>
17
18
@@ -118,34 +119,38 @@ void zwave_sl_log_nif_data(zwave_node_id_t node_id,
118
119
char message [DEBUG_MESSAGE_BUFFER_LENGTH ];
119
120
uint16_t index = 0 ;
120
121
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 ;
122
+ int written = snprintf (message + index ,
123
+ sizeof (message ) - index ,
124
+ "NIF from NodeID: %d" ,
125
+ node_id );
126
+ if (written < 0 || written >= (int )(sizeof (message ) - index )) {
127
+ sl_log_error (LOG_TAG , "Buffer overflow prevented while writing message." );
128
+ assert (false);
127
129
}
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 ;
130
+ index += written ;
131
+
132
+ written = snprintf (message + index ,
133
+ sizeof (message ) - index ,
134
+ " Capability/Security bytes: 0x%02X 0x%02X - " ,
135
+ node_info -> listening_protocol ,
136
+ node_info -> optional_protocol );
137
+ if (written < 0 || written >= (int )(sizeof (message ) - index )) {
138
+ sl_log_error (LOG_TAG , "Buffer overflow prevented while writing message." );
139
+ assert (false);
137
140
}
138
- index += n ;
141
+ index += written ;
139
142
140
143
if (node_info -> optional_protocol
141
144
& ZWAVE_NODE_INFO_OPTIONAL_PROTOCOL_CONTROLLER_MASK ) {
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 ;
145
+ written = snprintf (message + index ,
146
+ sizeof (message ) - index ,
147
+ "The node is a controller - " );
148
+ if (written < 0 || written >= (int )(sizeof (message ) - index )) {
149
+ sl_log_error (LOG_TAG , "Buffer overflow prevented while writing message." );
150
+ assert (false);
147
151
}
148
- index += n ;
152
+ index += written ;
153
+
149
154
} else {
150
155
index += snprintf (message + index ,
151
156
sizeof (message ) - index ,
@@ -154,11 +159,13 @@ void zwave_sl_log_nif_data(zwave_node_id_t node_id,
154
159
155
160
if (node_info -> listening_protocol
156
161
& ZWAVE_NODE_INFO_LISTENING_PROTOCOL_LISTENING_MASK ) {
157
- n = snprintf (message + index , sizeof (message ) - index , "AL mode - " );
158
- if (n < 0 || n >= (int )(sizeof (message ) - index )) {
159
- break ;
162
+ written = snprintf (message + index , sizeof (message ) - index , "AL mode - " );
163
+ if (written < 0 || written >= (int )(sizeof (message ) - index )) {
164
+ sl_log_error (LOG_TAG , "Buffer overflow prevented while writing message." );
165
+ assert (false);
160
166
}
161
- index += n ;
167
+ index += written ;
168
+
162
169
} else if (node_info -> optional_protocol
163
170
& (ZWAVE_NODE_INFO_OPTIONAL_PROTOCOL_SENSOR_1000MS_MASK
164
171
| ZWAVE_NODE_INFO_OPTIONAL_PROTOCOL_SENSOR_250MS_MASK )) {
@@ -180,14 +187,15 @@ void zwave_sl_log_nif_data(zwave_node_id_t node_id,
180
187
node_info -> specific_device_class );
181
188
182
189
for (uint8_t i = 0 ; i < node_info -> command_class_list_length ; 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 ;
190
+ written = snprintf (message + index ,
191
+ sizeof (message ) - index ,
192
+ "%02X " ,
193
+ node_info -> command_class_list [i ]);
194
+ if (written < 0 || written >= (int )(sizeof (message ) - index )) {
195
+ sl_log_error (LOG_TAG , "Buffer overflow prevented while writing message." );
196
+ assert (false);
189
197
}
190
- index += n ;
198
+ index += written ;
191
199
}
192
200
193
201
sl_log_debug (LOG_TAG , "%s" , message );
0 commit comments