On Tue, Oct 02, 2018 at 06:58:00AM +0200, Heinrich Schuchardt wrote:
> Do not leak filename_copy in case of error.
> Catch out of memory when calling strdup.
> 
> This addresses Coverity Scan CID 184086.

Thanks,
-Takahiro Akashi


> Reported-by: Tom Rini <tr...@konsulko.com>
> Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de>
> ---
>  fs/fat/fat_write.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/fat/fat_write.c b/fs/fat/fat_write.c
> index 4286a0a847..b1ed0e6734 100644
> --- a/fs/fat/fat_write.c
> +++ b/fs/fat/fat_write.c
> @@ -1263,6 +1263,11 @@ int fat_unlink(const char *filename)
>       char *filename_copy, *dirname, *basename;
>  
>       filename_copy = strdup(filename);
> +     if (!filename_copy) {
> +             printf("Error: allocating memory\n");
> +             ret = -ENOMEM;
> +             goto exit;
> +     }
>       split_filename(filename_copy, &dirname, &basename);
>  
>       if (!strcmp(dirname, "/") && !strcmp(basename, "")) {
> @@ -1274,7 +1279,8 @@ int fat_unlink(const char *filename)
>       itr = malloc_cache_aligned(sizeof(fat_itr));
>       if (!itr) {
>               printf("Error: allocating memory\n");
> -             return -ENOMEM;
> +             ret = -ENOMEM;
> +             goto exit;
>       }
>  
>       ret = fat_itr_root(itr, &fsdata);
> -- 
> 2.19.0
> 
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to