From: Georg Sauthoff <mail(a)gms.tf>
This fixes -Wunterminated-string-initialization warnings with gcc 15.2.1.
---
aclocal.m4 | 7 +++++++
base16-encode.c | 2 +-
base64-encode.c | 2 +-
base64url-encode.c | 2 +-
blowfish-bcrypt.c | 2 +-
tools/pkcs1-conv.c | 6 +++---
6 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/aclocal.m4 b/aclocal.m4
index 73bf0cfb..9f943b45 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -73,6 +73,13 @@ AH_BOTTOM(
# define PRINTF_STYLE(f, a)
# define UNUSED
#endif
+#ifdef __has_attribute
+# if __has_attribute(nonstring)
+# define NONSTRING __attribute__((__nonstring__))
+# else
+# define NONSTRING
+# endif
+#endif
])])
# Check for alloca, and include the standard blurb in config.h
diff --git a/base16-encode.c b/base16-encode.c
index 9c7f0b1e..c6a4c6b9 100644
--- a/base16-encode.c
+++ b/base16-encode.c
@@ -39,7 +39,7 @@
static const uint8_t
-hex_digits[16] = "0123456789abcdef";
+hex_digits[16] NONSTRING = "0123456789abcdef";
#define DIGIT(x) (hex_digits[(x) & 0xf])
diff --git a/base64-encode.c b/base64-encode.c
index ee1ec149..6bb55782 100644
--- a/base64-encode.c
+++ b/base64-encode.c
@@ -83,7 +83,7 @@ encode_raw(const char *alphabet,
assert(out == dst);
}
-static const char base64_encode_table[64] =
+static const char base64_encode_table[64] NONSTRING =
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz"
"0123456789+/";
diff --git a/base64url-encode.c b/base64url-encode.c
index d30044ea..2b78a800 100644
--- a/base64url-encode.c
+++ b/base64url-encode.c
@@ -38,7 +38,7 @@
void
base64url_encode_init(struct base64_encode_ctx *ctx)
{
- static const char base64url_encode_table[64] =
+ static const char base64url_encode_table[64] NONSTRING =
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz"
"0123456789-_";
diff --git a/blowfish-bcrypt.c b/blowfish-bcrypt.c
index 385503ac..0326f1ff 100644
--- a/blowfish-bcrypt.c
+++ b/blowfish-bcrypt.c
@@ -70,7 +70,7 @@ static const signed char radix64_decode_table[0x100] = {
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
};
-static const char radix64_encode_table[64] =
+static const char radix64_encode_table[64] NONSTRING =
"./ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz"
"0123456789";
diff --git a/tools/pkcs1-conv.c b/tools/pkcs1-conv.c
index f6b044d2..68bb67d1 100644
--- a/tools/pkcs1-conv.c
+++ b/tools/pkcs1-conv.c
@@ -117,13 +117,13 @@ read_file(struct nettle_buffer *buffer, FILE *f)
}
static const uint8_t
-pem_start_pattern[11] = "-----BEGIN ";
+pem_start_pattern[11] NONSTRING = "-----BEGIN ";
static const uint8_t
-pem_end_pattern[9] = "-----END ";
+pem_end_pattern[9] NONSTRING = "-----END ";
static const uint8_t
-pem_trailer_pattern[5] = "-----";
+pem_trailer_pattern[5] NONSTRING = "-----";
static const char
pem_ws[33] = {
--
2.53.0