ACK: [PATCH] bios: mtrr: fix memory leak on mtrr entries
Alex Hung
alex.hung at canonical.com
Thu May 21 22:49:50 UTC 2015
On 05/14/2015 04:33 AM, Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> CoverityScan picked up a memory leak on the allocated entries that
> don't get added to the mttr entry list when they fail specific
> filtering criteria.
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
> src/bios/mtrr/mtrr.c | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/src/bios/mtrr/mtrr.c b/src/bios/mtrr/mtrr.c
> index 8bec28b..c86090f 100644
> --- a/src/bios/mtrr/mtrr.c
> +++ b/src/bios/mtrr/mtrr.c
> @@ -119,18 +119,24 @@ static int get_mtrrs(void)
> */
>
> /* Get register, in decimal */
> - if (strncmp(line, "reg", 3))
> + if (strncmp(line, "reg", 3)) {
> + free(entry);
> continue;
> + }
> entry->reg = strtoul(line + 3, NULL, 10);
>
> /* Get base, in hex */
> - if ((ptr1 = strstr(line, "base=0x")) == NULL)
> + if ((ptr1 = strstr(line, "base=0x")) == NULL) {
> + free(entry);
> continue;
> + }
> entry->start = strtoull(ptr1 + 5, NULL, 16);
>
> /* Get size, in decimal */
> - if ((ptr1 = strstr(line, "size=")) == NULL)
> + if ((ptr1 = strstr(line, "size=")) == NULL) {
> + free(entry);
> continue;
> + }
>
> entry->size = strtoull(ptr1 + 5, &ptr2, 10);
> if (ptr2 && (*ptr2 == 'm'))
>
Acked-by: Alex Hung <alex.hung at canonical.com>
More information about the fwts-devel
mailing list