diff options
author | Zhang Kunbo <zhangkunbo@huawei.com> | 2024-12-18 10:44:39 +0300 |
---|---|---|
committer | Andreas Larsson <andreas@gaisler.com> | 2025-01-17 18:33:27 +0300 |
commit | f4ab186830222a18e2c232b425f2945b408e2607 (patch) | |
tree | 33a05a12c06827f19e2a97b74717595bff71f5b1 | |
parent | 929bd2a1772c91159b7a26fb559c8e4cde0d3dc3 (diff) | |
download | linux-f4ab186830222a18e2c232b425f2945b408e2607.tar.xz |
sparc: replace zero-length array with flexible-array member
The current codebase makes use of the zero-length array language
extension to the C90 standard, but the preferred mechanism to declare
variable-length types such as these ones is a flexible array member[1],
introduced in C99:
struct foo {
int stuff;
struct boo array[];
};
By making use of the mechanism above, we will get a compiler warning
in case the flexible array does not occur last, which is beneficial
to cultivate a high-quality code.[2]
This issue was found with the help of Coccinelle.
[1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
[2] commit 76497732932f ("cxgb3/l2t: Fix undefined behaviour")
Signed-off-by: Zhang Kunbo <zhangkunbo@huawei.com>
Reviewed-by: Andreas Larsson <andreas@gaisler.com>
Link: https://lore.kernel.org/r/20241218074439.3271397-1-zhangkunbo@huawei.com
Signed-off-by: Andreas Larsson <andreas@gaisler.com>
-rw-r--r-- | arch/sparc/kernel/pci.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c index 50a0927a84a6..ddac216a2aff 100644 --- a/arch/sparc/kernel/pci.c +++ b/arch/sparc/kernel/pci.c @@ -932,7 +932,7 @@ static void pci_bus_slot_names(struct device_node *node, struct pci_bus *bus) { const struct pci_slot_names { u32 slot_mask; - char names[0]; + char names[]; } *prop; const char *sp; int len, i; |