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:
+3
-3
@@ -1595,7 +1595,7 @@ static int apply_lock_personality(const Unit* u, const ExecContext *c) {
|
||||
|
||||
#endif
|
||||
|
||||
static void do_idle_pipe_dance(int idle_pipe[4]) {
|
||||
static void do_idle_pipe_dance(int idle_pipe[static 4]) {
|
||||
assert(idle_pipe);
|
||||
|
||||
idle_pipe[1] = safe_close(idle_pipe[1]);
|
||||
@@ -2618,7 +2618,7 @@ out:
|
||||
return r;
|
||||
}
|
||||
|
||||
static void append_socket_pair(int *array, size_t *n, const int pair[2]) {
|
||||
static void append_socket_pair(int *array, size_t *n, const int pair[static 2]) {
|
||||
assert(array);
|
||||
assert(n);
|
||||
|
||||
@@ -3942,7 +3942,7 @@ const char* exec_context_fdname(const ExecContext *c, int fd_index) {
|
||||
}
|
||||
}
|
||||
|
||||
static int exec_context_named_iofds(const ExecContext *c, const ExecParameters *p, int named_iofds[3]) {
|
||||
static int exec_context_named_iofds(const ExecContext *c, const ExecParameters *p, int named_iofds[static 3]) {
|
||||
size_t i, targets;
|
||||
const char* stdio_fdname[3];
|
||||
size_t n_fds;
|
||||
|
||||
Reference in New Issue
Block a user