Dear SeaBIOS folks,
Building SeaBIOS master with GCC 10 from Debian Sid/unstable, the compiler shows the warning below.
``` $ make CC=gcc-10 V=1 […] Compile checking out/src/tcgbios.o gcc-10 -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -DMODE16=0 -DMODESEGMENT=0 -c src/tcgbios.c -o out/src/tcgbios.o src/tcgbios.c: In function 'tpm20_write_EfiSpecIdEventStruct': src/tcgbios.c:290:30: warning: array subscript '(<unknown>) + 4294967295' is outside the bounds of an interior zero-length array 'struct TCG_EfiSpecIdEventAlgorithmSize[0]' [-Wzero-length-bounds] 290 | event.hdr.digestSizes[count].algorithmId = be16_to_cpu(sel->hashAlg); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In file included from src/tcgbios.c:22: src/std/tcg.h:527:7: note: while referencing 'digestSizes' 527 | } digestSizes[0]; | ^~~~~~~~~~~ src/tcgbios.c:291:30: warning: array subscript '(<unknown>) + 4294967295' is outside the bounds of an interior zero-length array 'struct TCG_EfiSpecIdEventAlgorithmSize[0]' [-Wzero-length-bounds] 291 | event.hdr.digestSizes[count].digestSize = hsize; | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In file included from src/tcgbios.c:22: src/std/tcg.h:527:7: note: while referencing 'digestSizes' 527 | } digestSizes[0]; | ^~~~~~~~~~~ […] ```
Kind regards,
Paul
Date: Tue, 3 Mar 2020 16:24:46 +0100
GCC 10 gives the warnings below:
In file included from out/ccode32flat.o.tmp.c:54: ./src/tcgbios.c: In function 'tpm20_write_EfiSpecIdEventStruct': ./src/tcgbios.c:290:30: warning: array subscript '(<unknown>) + 4294967295' is outside the bounds of an interior zero-length array 'struct TCG_EfiSpecIdEventAlgorithmSize[0]' [-Wzero-length-bounds] 290 | event.hdr.digestSizes[count].algorithmId = be16_to_cpu(sel->hashAlg); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In file included from ./src/tcgbios.c:22, from out/ccode32flat.o.tmp.c:54: ./src/std/tcg.h:527:7: note: while referencing 'digestSizes' 527 | } digestSizes[0]; | ^~~~~~~~~~~ In file included from out/ccode32flat.o.tmp.c:54: ./src/tcgbios.c:291:30: warning: array subscript '(<unknown>) + 4294967295' is outside the bounds of an interior zero-length array 'struct TCG_EfiSpecIdEventAlgorithmSize[0]' [-Wzero-length-bounds] 291 | event.hdr.digestSizes[count].digestSize = hsize; | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In file included from ./src/tcgbios.c:22, from out/ccode32flat.o.tmp.c:54: ./src/std/tcg.h:527:7: note: while referencing 'digestSizes' 527 | } digestSizes[0]; | ^~~~~~~~~~~
[Description copied from Gustavo A. R. Silva gustavo@embeddedor.com from his Linux kernel commits.]
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 in the structure, which will help us prevent some kind of undefined behavior bugs from being inadvertently introduced[3] to the codebase from now on.
Also, notice that, dynamic memory allocations won't be affected by this change:
"Flexible array members have incomplete type, and so the sizeof operator may not be applied. As a quirk of the original implementation of zero-length arrays, sizeof evaluates to zero."[1]
This issue was found with the help of Coccinelle.
[1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
Signed-off-by: Paul Menzel pmenzel@molgen.mpg.de --- src/std/tcg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/std/tcg.h b/src/std/tcg.h index 1cc1c92..1c9eeb4 100644 --- a/src/std/tcg.h +++ b/src/std/tcg.h @@ -524,7 +524,7 @@ struct TCG_EfiSpecIdEventStruct { struct TCG_EfiSpecIdEventAlgorithmSize { u16 algorithmId; u16 digestSize; - } digestSizes[0]; + } digestSizes[]; /* u8 vendorInfoSize; u8 vendorInfo[0];
Hello Paul,
On 3/3/20 5:50 PM, Paul Menzel wrote:
Date: Tue, 3 Mar 2020 16:24:46 +0100
GCC 10 gives the warnings below:
In file included from out/ccode32flat.o.tmp.c:54: ./src/tcgbios.c: In function 'tpm20_write_EfiSpecIdEventStruct': ./src/tcgbios.c:290:30: warning: array subscript '(<unknown>) + 4294967295' is outside the bounds of an interior zero-length array 'struct TCG_EfiSpecIdEventAlgorithmSize[0]' [-Wzero-length-bounds] 290 | event.hdr.digestSizes[count].algorithmId = be16_to_cpu(sel->hashAlg); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In file included from ./src/tcgbios.c:22, from out/ccode32flat.o.tmp.c:54: ./src/std/tcg.h:527:7: note: while referencing 'digestSizes' 527 | } digestSizes[0]; | ^~~~~~~~~~~ In file included from out/ccode32flat.o.tmp.c:54: ./src/tcgbios.c:291:30: warning: array subscript '(<unknown>) + 4294967295' is outside the bounds of an interior zero-length array 'struct TCG_EfiSpecIdEventAlgorithmSize[0]' [-Wzero-length-bounds] 291 | event.hdr.digestSizes[count].digestSize = hsize; | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In file included from ./src/tcgbios.c:22, from out/ccode32flat.o.tmp.c:54: ./src/std/tcg.h:527:7: note: while referencing 'digestSizes' 527 | } digestSizes[0]; | ^~~~~~~~~~~
[Description copied from Gustavo A. R. Silva gustavo@embeddedor.com from his Linux kernel commits.]
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 in the structure, which will help us prevent some kind of undefined behavior bugs from being inadvertently introduced[3] to the codebase from now on.
Assuming this comment is also part of the Linux kernel commit, can we drop the '[3]' marker?
Also, notice that, dynamic memory allocations won't be affected by this change:
"Flexible array members have incomplete type, and so the sizeof operator may not be applied. As a quirk of the original implementation of zero-length arrays, sizeof evaluates to zero."[1]
This issue was found with the help of Coccinelle.
[1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
Signed-off-by: Paul Menzel pmenzel@molgen.mpg.de
src/std/tcg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/std/tcg.h b/src/std/tcg.h index 1cc1c92..1c9eeb4 100644 --- a/src/std/tcg.h +++ b/src/std/tcg.h @@ -524,7 +524,7 @@ struct TCG_EfiSpecIdEventStruct { struct TCG_EfiSpecIdEventAlgorithmSize { u16 algorithmId; u16 digestSize;
- } digestSizes[0];
- } digestSizes[]; /* u8 vendorInfoSize; u8 vendorInfo[0];
SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-leave@seabios.org
On Tue, Mar 3, 2020 at 7:08 PM Philippe Mathieu-Daudé philmd@redhat.com wrote:
Hello Paul,
On 3/3/20 5:50 PM, Paul Menzel wrote:
Date: Tue, 3 Mar 2020 16:24:46 +0100
GCC 10 gives the warnings below:
In file included from out/ccode32flat.o.tmp.c:54: ./src/tcgbios.c: In function 'tpm20_write_EfiSpecIdEventStruct': ./src/tcgbios.c:290:30: warning: array subscript '(<unknown>) + 4294967295' is outside the bounds of an interior zero-length array 'struct TCG_EfiSpecIdEventAlgorithmSize[0]' [-Wzero-length-bounds] 290 | event.hdr.digestSizes[count].algorithmId = be16_to_cpu(sel->hashAlg); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In file included from ./src/tcgbios.c:22, from out/ccode32flat.o.tmp.c:54: ./src/std/tcg.h:527:7: note: while referencing 'digestSizes' 527 | } digestSizes[0]; | ^~~~~~~~~~~ In file included from out/ccode32flat.o.tmp.c:54: ./src/tcgbios.c:291:30: warning: array subscript '(<unknown>) + 4294967295' is outside the bounds of an interior zero-length array 'struct TCG_EfiSpecIdEventAlgorithmSize[0]' [-Wzero-length-bounds] 291 | event.hdr.digestSizes[count].digestSize = hsize; | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In file included from ./src/tcgbios.c:22, from out/ccode32flat.o.tmp.c:54: ./src/std/tcg.h:527:7: note: while referencing 'digestSizes' 527 | } digestSizes[0]; | ^~~~~~~~~~~
[Description copied from Gustavo A. R. Silva gustavo@embeddedor.com from his Linux kernel commits.]
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 in the structure, which will help us prevent some kind of undefined behavior bugs from being inadvertently introduced[3] to the codebase from now on.
Assuming this comment is also part of the Linux kernel commit, can we drop the '[3]' marker?
Assuming the maintainer can do this trivial change: Reviewed-by: Philippe Mathieu-Daudé philmd@redhat.com
Also, notice that, dynamic memory allocations won't be affected by this change:
"Flexible array members have incomplete type, and so the sizeof operator may not be applied. As a quirk of the original implementation of zero-length arrays, sizeof evaluates to zero."[1]
This issue was found with the help of Coccinelle.
[1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
Signed-off-by: Paul Menzel pmenzel@molgen.mpg.de
src/std/tcg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/std/tcg.h b/src/std/tcg.h index 1cc1c92..1c9eeb4 100644 --- a/src/std/tcg.h +++ b/src/std/tcg.h @@ -524,7 +524,7 @@ struct TCG_EfiSpecIdEventStruct { struct TCG_EfiSpecIdEventAlgorithmSize { u16 algorithmId; u16 digestSize;
- } digestSizes[0];
- } digestSizes[]; /* u8 vendorInfoSize; u8 vendorInfo[0];
SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-leave@seabios.org
On 3/3/20 11:50 AM, Paul Menzel wrote:
Date: Tue, 3 Mar 2020 16:24:46 +0100
GCC 10 gives the warnings below:
In file included from out/ccode32flat.o.tmp.c:54: ./src/tcgbios.c: In function 'tpm20_write_EfiSpecIdEventStruct': ./src/tcgbios.c:290:30: warning: array subscript '(<unknown>) + 4294967295' is outside the bounds of an interior zero-length array 'struct TCG_EfiSpecIdEventAlgorithmSize[0]' [-Wzero-length-bounds] 290 | event.hdr.digestSizes[count].algorithmId = be16_to_cpu(sel->hashAlg); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In file included from ./src/tcgbios.c:22, from out/ccode32flat.o.tmp.c:54: ./src/std/tcg.h:527:7: note: while referencing 'digestSizes' 527 | } digestSizes[0]; | ^~~~~~~~~~~ In file included from out/ccode32flat.o.tmp.c:54: ./src/tcgbios.c:291:30: warning: array subscript '(<unknown>) + 4294967295' is outside the bounds of an interior zero-length array 'struct TCG_EfiSpecIdEventAlgorithmSize[0]' [-Wzero-length-bounds] 291 | event.hdr.digestSizes[count].digestSize = hsize; | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In file included from ./src/tcgbios.c:22, from out/ccode32flat.o.tmp.c:54: ./src/std/tcg.h:527:7: note: while referencing 'digestSizes' 527 | } digestSizes[0]; | ^~~~~~~~~~~
[Description copied from Gustavo A. R. Silva gustavo@embeddedor.com from his Linux kernel commits.]
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 in the structure, which will help us prevent some kind of undefined behavior bugs from being inadvertently introduced[3] to the codebase from now on.
Also, notice that, dynamic memory allocations won't be affected by this change:
"Flexible array members have incomplete type, and so the sizeof operator may not be applied. As a quirk of the original implementation of zero-length arrays, sizeof evaluates to zero."[1]
This issue was found with the help of Coccinelle.
[1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
Signed-off-by: Paul Menzel pmenzel@molgen.mpg.de
It gives the same size of structure either way.
Reviewed-by: Stefan Berger stefanb@linux.ibm.com
src/std/tcg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/std/tcg.h b/src/std/tcg.h index 1cc1c92..1c9eeb4 100644 --- a/src/std/tcg.h +++ b/src/std/tcg.h @@ -524,7 +524,7 @@ struct TCG_EfiSpecIdEventStruct { struct TCG_EfiSpecIdEventAlgorithmSize { u16 algorithmId; u16 digestSize;
- } digestSizes[0];
- } digestSizes[]; /* u8 vendorInfoSize; u8 vendorInfo[0];
SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-leave@seabios.org
Date: Tue, 3 Mar 2020 16:24:46 +0100
GCC 10 gives the warnings below:
In file included from out/ccode32flat.o.tmp.c:54: ./src/tcgbios.c: In function 'tpm20_write_EfiSpecIdEventStruct': ./src/tcgbios.c:290:30: warning: array subscript '(<unknown>) + 4294967295' is outside the bounds of an interior zero-length array 'struct TCG_EfiSpecIdEventAlgorithmSize[0]' [-Wzero-length-bounds] 290 | event.hdr.digestSizes[count].algorithmId = be16_to_cpu(sel->hashAlg); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In file included from ./src/tcgbios.c:22, from out/ccode32flat.o.tmp.c:54: ./src/std/tcg.h:527:7: note: while referencing 'digestSizes' 527 | } digestSizes[0]; | ^~~~~~~~~~~ In file included from out/ccode32flat.o.tmp.c:54: ./src/tcgbios.c:291:30: warning: array subscript '(<unknown>) + 4294967295' is outside the bounds of an interior zero-length array 'struct TCG_EfiSpecIdEventAlgorithmSize[0]' [-Wzero-length-bounds] 291 | event.hdr.digestSizes[count].digestSize = hsize; | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In file included from ./src/tcgbios.c:22, from out/ccode32flat.o.tmp.c:54: ./src/std/tcg.h:527:7: note: while referencing 'digestSizes' 527 | } digestSizes[0]; | ^~~~~~~~~~~
[Description copied from Gustavo A. R. Silva gustavo@embeddedor.com from his Linux kernel commits.]
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][2], 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 in the structure, which will help us prevent some kind of undefined behavior bugs from being inadvertently introduced[3] to the codebase from now on.
Also, notice that, dynamic memory allocations won't be affected by this change:
"Flexible array members have incomplete type, and so the sizeof operator may not be applied. As a quirk of the original implementation of zero-length arrays, sizeof evaluates to zero."[1]
This issue was found with the help of Coccinelle.
[1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html [2] https://github.com/KSPP/linux/issues/21 [3] commit 76497732932f ("cxgb3/l2t: Fix undefined behaviour") https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?i...
Signed-off-by: Paul Menzel pmenzel@molgen.mpg.de Reviewed-by: Philippe Mathieu-Daudé philmd@redhat.com --- v2: Cite all references, add Reviewed-by line
src/std/tcg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/std/tcg.h b/src/std/tcg.h index 1cc1c92..1c9eeb4 100644 --- a/src/std/tcg.h +++ b/src/std/tcg.h @@ -524,7 +524,7 @@ struct TCG_EfiSpecIdEventStruct { struct TCG_EfiSpecIdEventAlgorithmSize { u16 algorithmId; u16 digestSize; - } digestSizes[0]; + } digestSizes[]; /* u8 vendorInfoSize; u8 vendorInfo[0];
On Wed, Mar 04, 2020 at 02:51:27PM +0100, Paul Menzel wrote:
Date: Tue, 3 Mar 2020 16:24:46 +0100
GCC 10 gives the warnings below:
In file included from out/ccode32flat.o.tmp.c:54: ./src/tcgbios.c: In function 'tpm20_write_EfiSpecIdEventStruct': ./src/tcgbios.c:290:30: warning: array subscript '(<unknown>) + 4294967295' is outside the bounds of an interior zero-length array 'struct TCG_EfiSpecIdEventAlgorithmSize[0]' [-Wzero-length-bounds] 290 | event.hdr.digestSizes[count].algorithmId = be16_to_cpu(sel->hashAlg); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~
Thanks. It looks fine to me. Stefan - do you have any comments on this?
-Kevin
In file included from ./src/tcgbios.c:22, from out/ccode32flat.o.tmp.c:54: ./src/std/tcg.h:527:7: note: while referencing 'digestSizes' 527 | } digestSizes[0]; | ^~~~~~~~~~~ In file included from out/ccode32flat.o.tmp.c:54: ./src/tcgbios.c:291:30: warning: array subscript '(<unknown>) + 4294967295' is outside the bounds of an interior zero-length array 'struct TCG_EfiSpecIdEventAlgorithmSize[0]' [-Wzero-length-bounds] 291 | event.hdr.digestSizes[count].digestSize = hsize; | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In file included from ./src/tcgbios.c:22, from out/ccode32flat.o.tmp.c:54: ./src/std/tcg.h:527:7: note: while referencing 'digestSizes' 527 | } digestSizes[0]; | ^~~~~~~~~~~
[Description copied from Gustavo A. R. Silva gustavo@embeddedor.com from his Linux kernel commits.]
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][2], 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 in the structure, which will help us prevent some kind of undefined behavior bugs from being inadvertently introduced[3] to the codebase from now on.
Also, notice that, dynamic memory allocations won't be affected by this change:
"Flexible array members have incomplete type, and so the sizeof operator may not be applied. As a quirk of the original implementation of zero-length arrays, sizeof evaluates to zero."[1]
This issue was found with the help of Coccinelle.
[1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html [2] https://github.com/KSPP/linux/issues/21 [3] commit 76497732932f ("cxgb3/l2t: Fix undefined behaviour") https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?i...
Signed-off-by: Paul Menzel pmenzel@molgen.mpg.de Reviewed-by: Philippe Mathieu-Daudé philmd@redhat.com
v2: Cite all references, add Reviewed-by line
src/std/tcg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/std/tcg.h b/src/std/tcg.h index 1cc1c92..1c9eeb4 100644 --- a/src/std/tcg.h +++ b/src/std/tcg.h @@ -524,7 +524,7 @@ struct TCG_EfiSpecIdEventStruct { struct TCG_EfiSpecIdEventAlgorithmSize { u16 algorithmId; u16 digestSize;
- } digestSizes[0];
- } digestSizes[]; /* u8 vendorInfoSize; u8 vendorInfo[0];
-- 2.25.0
SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-leave@seabios.org
On 3/6/20 8:33 AM, Kevin O'Connor wrote:
On Wed, Mar 04, 2020 at 02:51:27PM +0100, Paul Menzel wrote:
Date: Tue, 3 Mar 2020 16:24:46 +0100
GCC 10 gives the warnings below:
In file included from out/ccode32flat.o.tmp.c:54: ./src/tcgbios.c: In function 'tpm20_write_EfiSpecIdEventStruct': ./src/tcgbios.c:290:30: warning: array subscript '(<unknown>) + 4294967295' is outside the bounds of an interior zero-length array 'struct TCG_EfiSpecIdEventAlgorithmSize[0]' [-Wzero-length-bounds] 290 | event.hdr.digestSizes[count].algorithmId = be16_to_cpu(sel->hashAlg); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~
Thanks. It looks fine to me. Stefan - do you have any comments on this?
Looks good to me, too.
Stefan
Dear Kevin, dear Gerd,
Am 06.03.20 um 18:01 schrieb Stefan Berger:
On 3/6/20 8:33 AM, Kevin O'Connor wrote:
On Wed, Mar 04, 2020 at 02:51:27PM +0100, Paul Menzel wrote:
Date: Tue, 3 Mar 2020 16:24:46 +0100
GCC 10 gives the warnings below:
In file included from out/ccode32flat.o.tmp.c:54: ./src/tcgbios.c: In function 'tpm20_write_EfiSpecIdEventStruct': ./src/tcgbios.c:290:30: warning: array subscript '(<unknown>) + 4294967295' is outside the bounds of an interior zero-length array 'struct TCG_EfiSpecIdEventAlgorithmSize[0]' [-Wzero-length-bounds] 290 | event.hdr.digestSizes[count].algorithmId = be16_to_cpu(sel->hashAlg); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~
Thanks. It looks fine to me. Stefan - do you have any comments on this?
Looks good to me, too.
Could you please apply this commit to the master branch?
Kind regards,
Paul
On Fri, Mar 20, 2020 at 04:41:09PM +0100, Paul Menzel wrote:
Am 06.03.20 um 18:01 schrieb Stefan Berger:
On 3/6/20 8:33 AM, Kevin O'Connor wrote:
On Wed, Mar 04, 2020 at 02:51:27PM +0100, Paul Menzel wrote:
Date: Tue, 3 Mar 2020 16:24:46 +0100
GCC 10 gives the warnings below:
In file included from out/ccode32flat.o.tmp.c:54: ./src/tcgbios.c: In function 'tpm20_write_EfiSpecIdEventStruct': ./src/tcgbios.c:290:30: warning: array subscript '(<unknown>) + 4294967295' is outside the bounds of an interior zero-length array 'struct TCG_EfiSpecIdEventAlgorithmSize[0]' [-Wzero-length-bounds] 290 | event.hdr.digestSizes[count].algorithmId = be16_to_cpu(sel->hashAlg); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~
Thanks. It looks fine to me. Stefan - do you have any comments on this?
Looks good to me, too.
Could you please apply this commit to the master branch?
Thanks. I committed this change.
-Kevin