tree-wide: use c99 static for array size declarations
https://hamberg.no/erlend/posts/2013-02-18-static-array-indices.html This only works with clang, unfortunately gcc doesn't seem to implement the check (tested with gcc-8.2.1-5.fc29.x86_64). Simulated error: [2/3] Compiling C object 'systemd-nspawn@exe/src_nspawn_nspawn.c.o'. ../src/nspawn/nspawn.c:3179:45: warning: array argument is too small; contains 15 elements, callee requires at least 16 [-Warray-bounds] candidate = (uid_t) siphash24(arg_machine, strlen(arg_machine), hash_key); ^ ~~~~~~~~ ../src/basic/siphash24.h:24:64: note: callee declares array parameter as static here uint64_t siphash24(const void *in, size_t inlen, const uint8_t k[static 16]); ^~~~~~~~~~~~
This commit is contained in:
+1
-1
@@ -70,7 +70,7 @@ int safe_close(int fd) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
void safe_close_pair(int p[]) {
|
||||
void safe_close_pair(int p[static 2]) {
|
||||
assert(p);
|
||||
|
||||
if (p[0] == p[1]) {
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
|
||||
int close_nointr(int fd);
|
||||
int safe_close(int fd);
|
||||
void safe_close_pair(int p[]);
|
||||
void safe_close_pair(int p[static 2]);
|
||||
|
||||
static inline int safe_close_above_stdio(int fd) {
|
||||
if (fd < 3) /* Don't close stdin/stdout/stderr, but still invalidate the fd by returning -1 */
|
||||
|
||||
@@ -48,7 +48,7 @@ static inline void sipround(struct siphash *state) {
|
||||
state->v2 = rotate_left(state->v2, 32);
|
||||
}
|
||||
|
||||
void siphash24_init(struct siphash *state, const uint8_t k[16]) {
|
||||
void siphash24_init(struct siphash *state, const uint8_t k[static 16]) {
|
||||
uint64_t k0, k1;
|
||||
|
||||
assert(state);
|
||||
@@ -187,7 +187,7 @@ uint64_t siphash24_finalize(struct siphash *state) {
|
||||
return state->v0 ^ state->v1 ^ state->v2 ^ state->v3;
|
||||
}
|
||||
|
||||
uint64_t siphash24(const void *in, size_t inlen, const uint8_t k[16]) {
|
||||
uint64_t siphash24(const void *in, size_t inlen, const uint8_t k[static 16]) {
|
||||
struct siphash state;
|
||||
|
||||
assert(in);
|
||||
|
||||
@@ -15,14 +15,14 @@ struct siphash {
|
||||
size_t inlen;
|
||||
};
|
||||
|
||||
void siphash24_init(struct siphash *state, const uint8_t k[16]);
|
||||
void siphash24_init(struct siphash *state, const uint8_t k[static 16]);
|
||||
void siphash24_compress(const void *in, size_t inlen, struct siphash *state);
|
||||
#define siphash24_compress_byte(byte, state) siphash24_compress((const uint8_t[]) { (byte) }, 1, (state))
|
||||
|
||||
uint64_t siphash24_finalize(struct siphash *state);
|
||||
|
||||
uint64_t siphash24(const void *in, size_t inlen, const uint8_t k[16]);
|
||||
uint64_t siphash24(const void *in, size_t inlen, const uint8_t k[static 16]);
|
||||
|
||||
static inline uint64_t siphash24_string(const char *s, const uint8_t k[16]) {
|
||||
static inline uint64_t siphash24_string(const char *s, const uint8_t k[static 16]) {
|
||||
return siphash24(s, strlen(s) + 1, k);
|
||||
}
|
||||
|
||||
@@ -742,7 +742,7 @@ char *strreplace(const char *text, const char *old_string, const char *new_strin
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void advance_offsets(ssize_t diff, size_t offsets[2], size_t shift[2], size_t size) {
|
||||
static void advance_offsets(ssize_t diff, size_t offsets[static 2], size_t shift[static 2], size_t size) {
|
||||
if (!offsets)
|
||||
return;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user