diff options
| author | Andrew Clayton <a.clayton@nginx.com> | 2025-03-18 05:09:31 +0000 |
|---|---|---|
| committer | Andrew Clayton <a.clayton@nginx.com> | 2025-03-20 15:28:19 +0000 |
| commit | d9c2fd793fe1e8c8fbfd7aec9af3482fa5f0dacc (patch) | |
| tree | 2b841403cc96ae6f936eda056f90574c4a44adbe /src/nxt_sprintf.c | |
| parent | 764ad73fc7e3cbbe48b259159340e063f7d7b082 (diff) | |
| download | unit-d9c2fd793fe1e8c8fbfd7aec9af3482fa5f0dacc.tar.gz unit-d9c2fd793fe1e8c8fbfd7aec9af3482fa5f0dacc.tar.bz2 | |
Tag various character arrays with NXT_NONSTRING
In Unit we have a number of character arrays which are intentionally not
NUL terminated.
With GCC 15 this
static const char hex[16] = "0123456789ABCDEF";
will trigger a warning like
$ gcc -Wextra -c nonstring.c
nonstring.c: In function ‘hexit’:
nonstring.c:9:37: warning: initializer-string for array of ‘char’ truncates NUL terminator but destination lacks ‘nonstring’ attribute (17 chars into 16 available) [-Wunterminated-string-initialization]
9 | static const char hex[16] = "0123456789ABCDEF";
| ^~~~~~~~~~~~~~~~~~
By adding NXT_NONSTRING like
static const char hex[16] NXT_NONSTRING = "0123456789ABCDEF";
we no longer get the warning.
Cc: Alejandro Colomar <alx@kernel.org>
Co-authored-by: Alejandro Colomar <alx@kernel.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
Diffstat (limited to '')
| -rw-r--r-- | src/nxt_sprintf.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/nxt_sprintf.c b/src/nxt_sprintf.c index 875f43a5..2e29e80e 100644 --- a/src/nxt_sprintf.c +++ b/src/nxt_sprintf.c @@ -112,8 +112,8 @@ nxt_vsprintf(u_char *buf, u_char *end, const char *fmt, va_list args) nxt_sprintf_t spf; nxt_file_name_t *fn; - static const u_char hexadecimal[16] = "0123456789abcdef"; - static const u_char HEXADECIMAL[16] = "0123456789ABCDEF"; + static const u_char hexadecimal[16] NXT_NONSTRING = "0123456789abcdef"; + static const u_char HEXADECIMAL[16] NXT_NONSTRING = "0123456789ABCDEF"; static const u_char nan[] = "[nan]"; static const u_char null[] = "[null]"; static const u_char infinity[] = "[infinity]"; |
