|
11 | 11 | *
|
12 | 12 | *****************************************************************************/
|
13 | 13 |
|
| 14 | +#include <assert.h> |
14 | 15 | #include <string.h>
|
15 | 16 | #include "zwapi_connection.h"
|
16 | 17 | #include "zwapi_serial.h"
|
@@ -51,35 +52,53 @@ static const char *zwapi_frame_to_string(const uint8_t *buffer,
|
51 | 52 | continue;
|
52 | 53 | } else if (i == 1) {
|
53 | 54 | {
|
54 |
| - int n = snprintf(message + index, sizeof(message) - index, "Length="); |
55 |
| - if (n < 0 || n >= sizeof(message) - index) { |
| 55 | + int written |
| 56 | + = snprintf(message + index, sizeof(message) - index, "Length="); |
| 57 | + if (written < 0 || written >= sizeof(message) - index) { |
| 58 | + sl_log_error(LOG_TAG, |
| 59 | + "Buffer overflow prevented while writing message."); |
| 60 | + assert(false); |
56 | 61 | break;
|
57 | 62 | }
|
58 |
| - index += n; |
| 63 | + index += written; |
59 | 64 | }
|
60 | 65 | } else if (i == 2) {
|
61 | 66 | {
|
62 |
| - int n = snprintf(message + index, sizeof(message) - index, "Type="); |
63 |
| - if (n < 0 || n >= sizeof(message) - index) { |
| 67 | + int written |
| 68 | + = snprintf(message + index, sizeof(message) - index, "Type="); |
| 69 | + if (written < 0 || written >= sizeof(message) - index) { |
| 70 | + sl_log_error(LOG_TAG, |
| 71 | + "Buffer overflow prevented while writing message."); |
| 72 | + assert(false); |
64 | 73 | break;
|
65 | 74 | }
|
66 |
| - index += n; |
| 75 | + index += written; |
67 | 76 | }
|
68 | 77 | } else if (i == 3) {
|
69 | 78 | {
|
70 |
| - int n = snprintf(message + index, sizeof(message) - index, "Cmd="); |
71 |
| - if (n < 0 || n >= sizeof(message) - index) { |
| 79 | + int written |
| 80 | + = snprintf(message + index, sizeof(message) - index, "Cmd="); |
| 81 | + if (written < 0 || written >= sizeof(message) - index) { |
| 82 | + sl_log_error(LOG_TAG, |
| 83 | + "Buffer overflow prevented while writing message."); |
| 84 | + assert(false); |
72 | 85 | break;
|
73 | 86 | }
|
74 |
| - index += n; |
| 87 | + index += written; |
75 | 88 | }
|
76 | 89 | }
|
77 | 90 | {
|
78 |
| - int n = snprintf(message + index, sizeof(message) - index, "%02X ", buffer[i]); |
79 |
| - if (n < 0 || n >= sizeof(message) - index) { |
| 91 | + int n = snprintf(message + index, |
| 92 | + sizeof(message) - index, |
| 93 | + "%02X ", |
| 94 | + buffer[i]); |
| 95 | + if (written < 0 || written >= sizeof(message) - index) { |
| 96 | + sl_log_error(LOG_TAG, |
| 97 | + "Buffer overflow prevented while writing message."); |
| 98 | + assert(false); |
80 | 99 | break;
|
81 | 100 | }
|
82 |
| - index += n; |
| 101 | + index += written; |
83 | 102 | }
|
84 | 103 | }
|
85 | 104 | return message;
|
|
0 commit comments