Re: [PATCH] fs: partitions: efi: Fix bound check

From: Davidlohr Bueso
Date: Tue Nov 19 2013 - 20:06:43 EST


On Fri, 2013-11-15 at 19:14 +0200, Antti P Miettinen wrote:
> Use ARRAY_SIZE instead of sizeof to get proper max for label
> length.
>
> Signed-off-by: Antti P Miettinen <amiettinen@xxxxxxxxxx>
> Reviewed-by: Hiroshi Doyu <hdoyu@xxxxxxxxxx>
> Tested-by: Hiroshi Doyu <hdoyu@xxxxxxxxxx>

I haven't tested the patch, but using ARRAY_SIZE for fields defined as
arrays does make more sense than sizeof.

Acked-by: Davidlohr Bueso <davidlohr@xxxxxx>

> ---
> block/partitions/efi.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/block/partitions/efi.c b/block/partitions/efi.c
> index a8287b4..dc51f46 100644
> --- a/block/partitions/efi.c
> +++ b/block/partitions/efi.c
> @@ -96,6 +96,7 @@
> * - Code works, detects all the partitions.
> *
> ************************************************************/
> +#include <linux/kernel.h>
> #include <linux/crc32.h>
> #include <linux/ctype.h>
> #include <linux/math64.h>
> @@ -715,8 +716,8 @@ int efi_partition(struct parsed_partitions *state)
> efi_guid_unparse(&ptes[i].unique_partition_guid, info->uuid);
>
> /* Naively convert UTF16-LE to 7 bits. */
> - label_max = min(sizeof(info->volname) - 1,
> - sizeof(ptes[i].partition_name));
> + label_max = min(ARRAY_SIZE(info->volname) - 1,
> + ARRAY_SIZE(ptes[i].partition_name));
> info->volname[label_max] = 0;
> while (label_count < label_max) {
> u8 c = ptes[i].partition_name[label_count] & 0xff;


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/