scripts/dtc/libfdt/fdt.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Replace the 0-length array with a C99 flexible array. Seen with GCC 13
under -fstrict-flex-arrays:
In file included from ../lib/fdt_ro.c:2:
../lib/../scripts/dtc/libfdt/fdt_ro.c: In function 'fdt_get_name':
../lib/../scripts/dtc/libfdt/fdt_ro.c:319:24: warning: 'strrchr' reading 1 or more bytes from a region of size 0 [-Wstringop-overread]
319 | leaf = strrchr(nameptr, '/');
| ^~~~~~~~~~~~~~~~~~~~~
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Frank Rowand <frowand.list@gmail.com>
Cc: devicetree@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
---
scripts/dtc/libfdt/fdt.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/dtc/libfdt/fdt.h b/scripts/dtc/libfdt/fdt.h
index f2e68807f277..0c91aa7f67b5 100644
--- a/scripts/dtc/libfdt/fdt.h
+++ b/scripts/dtc/libfdt/fdt.h
@@ -35,14 +35,14 @@ struct fdt_reserve_entry {
struct fdt_node_header {
fdt32_t tag;
- char name[0];
+ char name[];
};
struct fdt_property {
fdt32_t tag;
fdt32_t len;
fdt32_t nameoff;
- char data[0];
+ char data[];
};
#endif /* !__ASSEMBLY */
--
2.34.1
On Fri, Jan 27, 2023 at 4:41 PM Kees Cook <keescook@chromium.org> wrote: > > Replace the 0-length array with a C99 flexible array. Seen with GCC 13 > under -fstrict-flex-arrays: > > In file included from ../lib/fdt_ro.c:2: > ../lib/../scripts/dtc/libfdt/fdt_ro.c: In function 'fdt_get_name': > ../lib/../scripts/dtc/libfdt/fdt_ro.c:319:24: warning: 'strrchr' reading 1 or more bytes from a region of size 0 [-Wstringop-overread] > 319 | leaf = strrchr(nameptr, '/'); > | ^~~~~~~~~~~~~~~~~~~~~ > > Cc: Rob Herring <robh+dt@kernel.org> > Cc: Frank Rowand <frowand.list@gmail.com> > Cc: devicetree@vger.kernel.org > Signed-off-by: Kees Cook <keescook@chromium.org> > --- > scripts/dtc/libfdt/fdt.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Changes to dtc/libfdt go to upstream dtc first and then we sync them back. Rob
On Fri, Jan 27, 2023 at 05:44:13PM -0600, Rob Herring wrote: > On Fri, Jan 27, 2023 at 4:41 PM Kees Cook <keescook@chromium.org> wrote: > > > > Replace the 0-length array with a C99 flexible array. Seen with GCC 13 > > under -fstrict-flex-arrays: > > > > In file included from ../lib/fdt_ro.c:2: > > ../lib/../scripts/dtc/libfdt/fdt_ro.c: In function 'fdt_get_name': > > ../lib/../scripts/dtc/libfdt/fdt_ro.c:319:24: warning: 'strrchr' reading 1 or more bytes from a region of size 0 [-Wstringop-overread] > > 319 | leaf = strrchr(nameptr, '/'); > > | ^~~~~~~~~~~~~~~~~~~~~ > > > > Cc: Rob Herring <robh+dt@kernel.org> > > Cc: Frank Rowand <frowand.list@gmail.com> > > Cc: devicetree@vger.kernel.org > > Signed-off-by: Kees Cook <keescook@chromium.org> > > --- > > scripts/dtc/libfdt/fdt.h | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > Changes to dtc/libfdt go to upstream dtc first and then we sync them back. Ah-ha, I've found it: https://github.com/dgibson/dtc Thanks! -- Kees Cook
On Fri, Jan 27, 2023 at 04:12:21PM -0800, Kees Cook wrote: > On Fri, Jan 27, 2023 at 05:44:13PM -0600, Rob Herring wrote: > > On Fri, Jan 27, 2023 at 4:41 PM Kees Cook <keescook@chromium.org> wrote: > > > > > > Replace the 0-length array with a C99 flexible array. Seen with GCC 13 > > > under -fstrict-flex-arrays: > > > > > > In file included from ../lib/fdt_ro.c:2: > > > ../lib/../scripts/dtc/libfdt/fdt_ro.c: In function 'fdt_get_name': > > > ../lib/../scripts/dtc/libfdt/fdt_ro.c:319:24: warning: 'strrchr' reading 1 or more bytes from a region of size 0 [-Wstringop-overread] > > > 319 | leaf = strrchr(nameptr, '/'); > > > | ^~~~~~~~~~~~~~~~~~~~~ > > > > > > Cc: Rob Herring <robh+dt@kernel.org> > > > Cc: Frank Rowand <frowand.list@gmail.com> > > > Cc: devicetree@vger.kernel.org > > > Signed-off-by: Kees Cook <keescook@chromium.org> > > > --- > > > scripts/dtc/libfdt/fdt.h | 4 ++-- > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > Changes to dtc/libfdt go to upstream dtc first and then we sync them back. > > Ah-ha, I've found it: https://github.com/dgibson/dtc Sent upstream: https://github.com/dgibson/dtc/pull/76 -- Kees Cook
On Fri, Jan 27, 2023 at 6:24 PM Kees Cook <keescook@chromium.org> wrote: > > On Fri, Jan 27, 2023 at 04:12:21PM -0800, Kees Cook wrote: > > On Fri, Jan 27, 2023 at 05:44:13PM -0600, Rob Herring wrote: > > > On Fri, Jan 27, 2023 at 4:41 PM Kees Cook <keescook@chromium.org> wrote: > > > > > > > > Replace the 0-length array with a C99 flexible array. Seen with GCC 13 > > > > under -fstrict-flex-arrays: > > > > > > > > In file included from ../lib/fdt_ro.c:2: > > > > ../lib/../scripts/dtc/libfdt/fdt_ro.c: In function 'fdt_get_name': > > > > ../lib/../scripts/dtc/libfdt/fdt_ro.c:319:24: warning: 'strrchr' reading 1 or more bytes from a region of size 0 [-Wstringop-overread] > > > > 319 | leaf = strrchr(nameptr, '/'); > > > > | ^~~~~~~~~~~~~~~~~~~~~ > > > > > > > > Cc: Rob Herring <robh+dt@kernel.org> > > > > Cc: Frank Rowand <frowand.list@gmail.com> > > > > Cc: devicetree@vger.kernel.org > > > > Signed-off-by: Kees Cook <keescook@chromium.org> > > > > --- > > > > scripts/dtc/libfdt/fdt.h | 4 ++-- > > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > Changes to dtc/libfdt go to upstream dtc first and then we sync them back. > > > > Ah-ha, I've found it: https://github.com/dgibson/dtc > > Sent upstream: https://github.com/dgibson/dtc/pull/76 Maybe David will take that PR, but upstream is here[1]. Patches go to devicetree-compiler@vger.kernel.org. Rob [1] https://git.kernel.org/pub/scm/utils/dtc/dtc.git
© 2016 - 2025 Red Hat, Inc.