|
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