mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 21:54:01 +00:00
fastboot: fix partition name truncation in environment lookup
strlcat() need to be passed the full buffer length. The incorrect call
caused truncation of partition names for fastboot_raw_partition_... and
fastboot_partition_alias_... env lookup to much less than PART_NAME_LEN.
Fixes: 69a7529831
("fastboot: Fix possible buffer overrun")
Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Reviewed-by: Sean Anderson <seanga2@gmail.com>
This commit is contained in:
parent
776bf6a545
commit
5f9338ad56
1 changed files with 2 additions and 2 deletions
|
@ -40,7 +40,7 @@ static int raw_part_get_info_by_name(struct blk_desc *dev_desc,
|
|||
|
||||
/* check for raw partition descriptor */
|
||||
strcpy(env_desc_name, "fastboot_raw_partition_");
|
||||
strlcat(env_desc_name, name, PART_NAME_LEN);
|
||||
strlcat(env_desc_name, name, sizeof(env_desc_name));
|
||||
raw_part_desc = strdup(env_get(env_desc_name));
|
||||
if (raw_part_desc == NULL)
|
||||
return -ENODEV;
|
||||
|
@ -114,7 +114,7 @@ static int part_get_info_by_name_or_alias(struct blk_desc **dev_desc,
|
|||
|
||||
/* check for alias */
|
||||
strcpy(env_alias_name, "fastboot_partition_alias_");
|
||||
strlcat(env_alias_name, name, PART_NAME_LEN);
|
||||
strlcat(env_alias_name, name, sizeof(env_alias_name));
|
||||
aliased_part_name = env_get(env_alias_name);
|
||||
if (aliased_part_name != NULL)
|
||||
ret = do_get_part_info(dev_desc, aliased_part_name,
|
||||
|
|
Loading…
Reference in a new issue