diff mbox series

[07/10] dmicheck: fix wrong length for reserved fields in type 13

Message ID 20200521023802.1553594-7-alex.hung@canonical.com
State Accepted
Headers show
Series [01/10] dmicheck: test feature flags in type 2 | expand

Commit Message

Alex Hung May 21, 2020, 2:37 a.m. UTC
Signed-off-by: Alex Hung <alex.hung@canonical.com>
---
 src/dmi/dmicheck/dmicheck.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Colin Ian King May 21, 2020, 7:11 a.m. UTC | #1
On 21/05/2020 03:37, Alex Hung wrote:
> Signed-off-by: Alex Hung <alex.hung@canonical.com>
> ---
>  src/dmi/dmicheck/dmicheck.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/dmi/dmicheck/dmicheck.c b/src/dmi/dmicheck/dmicheck.c
> index d163bed3..f23c353b 100644
> --- a/src/dmi/dmicheck/dmicheck.c
> +++ b/src/dmi/dmicheck/dmicheck.c
> @@ -1501,7 +1501,7 @@ static void dmicheck_entry(fwts_framework *fw,
>  			dmi_reserved_bits_check(fw, table, addr, "Flags", hdr, sizeof(uint8_t), 0x5, 1, 7);
>  			if (hdr->length < 0x15)
>  				break;
> -			for (i = 0x6; i < 0x15; i++)
> +			for (i = 0x6; i < 15; i++)
>  				dmi_reserved_uint8_check(fw, table, addr, "Reserved", hdr, i);
>  			if (hdr->length < 0x16)
>  				break;
> 
Is the hdr length check incorrect too?

Also, for (i = 0x6; i < 15; i++)
maybe should be for (i = 0x6; i < 0xf; i++)
Alex Hung May 21, 2020, 4:49 p.m. UTC | #2
On Thu, May 21, 2020 at 1:11 AM Colin Ian King <colin.king@canonical.com>
wrote:

> On 21/05/2020 03:37, Alex Hung wrote:
> > Signed-off-by: Alex Hung <alex.hung@canonical.com>
> > ---
> >  src/dmi/dmicheck/dmicheck.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/src/dmi/dmicheck/dmicheck.c b/src/dmi/dmicheck/dmicheck.c
> > index d163bed3..f23c353b 100644
> > --- a/src/dmi/dmicheck/dmicheck.c
> > +++ b/src/dmi/dmicheck/dmicheck.c
> > @@ -1501,7 +1501,7 @@ static void dmicheck_entry(fwts_framework *fw,
> >                       dmi_reserved_bits_check(fw, table, addr, "Flags",
> hdr, sizeof(uint8_t), 0x5, 1, 7);
> >                       if (hdr->length < 0x15)
> >                               break;
> > -                     for (i = 0x6; i < 0x15; i++)
> > +                     for (i = 0x6; i < 15; i++)
> >                               dmi_reserved_uint8_check(fw, table, addr,
> "Reserved", hdr, i);
> >                       if (hdr->length < 0x16)
> >                               break;
> >
> Is the hdr length check incorrect too?
>

The length is correct.

>
> Also, for (i = 0x6; i < 15; i++)
> maybe should be for (i = 0x6; i < 0xf; i++)
>

The spec says "15 BYTEs", and I think using decimal will be easier to
compare with spec.
Colin Ian King May 26, 2020, 4:31 p.m. UTC | #3
On 21/05/2020 03:37, Alex Hung wrote:
> Signed-off-by: Alex Hung <alex.hung@canonical.com>
> ---
>  src/dmi/dmicheck/dmicheck.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/dmi/dmicheck/dmicheck.c b/src/dmi/dmicheck/dmicheck.c
> index d163bed3..f23c353b 100644
> --- a/src/dmi/dmicheck/dmicheck.c
> +++ b/src/dmi/dmicheck/dmicheck.c
> @@ -1501,7 +1501,7 @@ static void dmicheck_entry(fwts_framework *fw,
>  			dmi_reserved_bits_check(fw, table, addr, "Flags", hdr, sizeof(uint8_t), 0x5, 1, 7);
>  			if (hdr->length < 0x15)
>  				break;
> -			for (i = 0x6; i < 0x15; i++)
> +			for (i = 0x6; i < 15; i++)
>  				dmi_reserved_uint8_check(fw, table, addr, "Reserved", hdr, i);
>  			if (hdr->length < 0x16)
>  				break;
> 
Acked-by: Colin Ian King <colin.king@canonical.com>
Ivan Hu May 28, 2020, 6:31 a.m. UTC | #4
On 5/21/20 10:37 AM, Alex Hung wrote:
> Signed-off-by: Alex Hung <alex.hung@canonical.com>
> ---
>  src/dmi/dmicheck/dmicheck.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/dmi/dmicheck/dmicheck.c b/src/dmi/dmicheck/dmicheck.c
> index d163bed3..f23c353b 100644
> --- a/src/dmi/dmicheck/dmicheck.c
> +++ b/src/dmi/dmicheck/dmicheck.c
> @@ -1501,7 +1501,7 @@ static void dmicheck_entry(fwts_framework *fw,
>  			dmi_reserved_bits_check(fw, table, addr, "Flags", hdr, sizeof(uint8_t), 0x5, 1, 7);
>  			if (hdr->length < 0x15)
>  				break;
> -			for (i = 0x6; i < 0x15; i++)
> +			for (i = 0x6; i < 15; i++)
>  				dmi_reserved_uint8_check(fw, table, addr, "Reserved", hdr, i);
>  			if (hdr->length < 0x16)
>  				break;
> 

Acked-by: Ivan Hu <ivan.hu@canonical.com>
diff mbox series

Patch

diff --git a/src/dmi/dmicheck/dmicheck.c b/src/dmi/dmicheck/dmicheck.c
index d163bed3..f23c353b 100644
--- a/src/dmi/dmicheck/dmicheck.c
+++ b/src/dmi/dmicheck/dmicheck.c
@@ -1501,7 +1501,7 @@  static void dmicheck_entry(fwts_framework *fw,
 			dmi_reserved_bits_check(fw, table, addr, "Flags", hdr, sizeof(uint8_t), 0x5, 1, 7);
 			if (hdr->length < 0x15)
 				break;
-			for (i = 0x6; i < 0x15; i++)
+			for (i = 0x6; i < 15; i++)
 				dmi_reserved_uint8_check(fw, table, addr, "Reserved", hdr, i);
 			if (hdr->length < 0x16)
 				break;