Loading u-boot-tree/tools/fdtgrep.c +8 −13 Original line number Original line Diff line number Diff line // SPDX-License-Identifier: GPL-2.0+ /* /* * Copyright (c) 2013, Google Inc. * Copyright (c) 2013, Google Inc. * Written by Simon Glass <sjg@chromium.org> * Written by Simon Glass <sjg@chromium.org> * * * SPDX-License-Identifier: GPL-2.0+ * * Perform a grep of an FDT either displaying the source subset or producing * Perform a grep of an FDT either displaying the source subset or producing * a new .dtb subset which can be used as required. * a new .dtb subset which can be used as required. */ */ Loading Loading @@ -133,11 +134,11 @@ static int value_add(struct display_info *disp, struct value_node **headp, } } str = strdup(str); str = strdup(str); if (!str) goto err_mem; node = malloc(sizeof(*node)); node = malloc(sizeof(*node)); if (!node) if (!str || !node) { goto err_mem; fprintf(stderr, "Out of memory\n"); return -1; } node->next = *headp; node->next = *headp; node->type = type; node->type = type; node->include = include; node->include = include; Loading @@ -145,9 +146,6 @@ static int value_add(struct display_info *disp, struct value_node **headp, *headp = node; *headp = node; return 0; return 0; err_mem: fprintf(stderr, "Out of memory\n"); return -1; } } static bool util_is_printable_string(const void *data, int len) static bool util_is_printable_string(const void *data, int len) Loading Loading @@ -776,7 +774,7 @@ char *utilfdt_read(const char *filename) */ */ static int do_fdtgrep(struct display_info *disp, const char *filename) static int do_fdtgrep(struct display_info *disp, const char *filename) { { struct fdt_region *region = NULL; struct fdt_region *region; int max_regions; int max_regions; int count = 100; int count = 100; char path[1024]; char path[1024]; Loading Loading @@ -804,7 +802,7 @@ static int do_fdtgrep(struct display_info *disp, const char *filename) * The first pass will count the regions, but if it is too many, * The first pass will count the regions, but if it is too many, * we do another pass to actually record them. * we do another pass to actually record them. */ */ for (i = 0; i < 2; i++) { for (i = 0; i < 3; i++) { region = malloc(count * sizeof(struct fdt_region)); region = malloc(count * sizeof(struct fdt_region)); if (!region) { if (!region) { fprintf(stderr, "Out of memory for %d regions\n", fprintf(stderr, "Out of memory for %d regions\n", Loading @@ -818,14 +816,11 @@ static int do_fdtgrep(struct display_info *disp, const char *filename) disp->flags); disp->flags); if (count < 0) { if (count < 0) { report_error("fdt_find_regions", count); report_error("fdt_find_regions", count); free(region); return -1; return -1; } } if (count <= max_regions) if (count <= max_regions) break; break; free(region); free(region); fprintf(stderr, "Internal error with fdtgrep_find_region)(\n"); return -1; } } /* Optionally print a list of regions */ /* Optionally print a list of regions */ Loading Loading
u-boot-tree/tools/fdtgrep.c +8 −13 Original line number Original line Diff line number Diff line // SPDX-License-Identifier: GPL-2.0+ /* /* * Copyright (c) 2013, Google Inc. * Copyright (c) 2013, Google Inc. * Written by Simon Glass <sjg@chromium.org> * Written by Simon Glass <sjg@chromium.org> * * * SPDX-License-Identifier: GPL-2.0+ * * Perform a grep of an FDT either displaying the source subset or producing * Perform a grep of an FDT either displaying the source subset or producing * a new .dtb subset which can be used as required. * a new .dtb subset which can be used as required. */ */ Loading Loading @@ -133,11 +134,11 @@ static int value_add(struct display_info *disp, struct value_node **headp, } } str = strdup(str); str = strdup(str); if (!str) goto err_mem; node = malloc(sizeof(*node)); node = malloc(sizeof(*node)); if (!node) if (!str || !node) { goto err_mem; fprintf(stderr, "Out of memory\n"); return -1; } node->next = *headp; node->next = *headp; node->type = type; node->type = type; node->include = include; node->include = include; Loading @@ -145,9 +146,6 @@ static int value_add(struct display_info *disp, struct value_node **headp, *headp = node; *headp = node; return 0; return 0; err_mem: fprintf(stderr, "Out of memory\n"); return -1; } } static bool util_is_printable_string(const void *data, int len) static bool util_is_printable_string(const void *data, int len) Loading Loading @@ -776,7 +774,7 @@ char *utilfdt_read(const char *filename) */ */ static int do_fdtgrep(struct display_info *disp, const char *filename) static int do_fdtgrep(struct display_info *disp, const char *filename) { { struct fdt_region *region = NULL; struct fdt_region *region; int max_regions; int max_regions; int count = 100; int count = 100; char path[1024]; char path[1024]; Loading Loading @@ -804,7 +802,7 @@ static int do_fdtgrep(struct display_info *disp, const char *filename) * The first pass will count the regions, but if it is too many, * The first pass will count the regions, but if it is too many, * we do another pass to actually record them. * we do another pass to actually record them. */ */ for (i = 0; i < 2; i++) { for (i = 0; i < 3; i++) { region = malloc(count * sizeof(struct fdt_region)); region = malloc(count * sizeof(struct fdt_region)); if (!region) { if (!region) { fprintf(stderr, "Out of memory for %d regions\n", fprintf(stderr, "Out of memory for %d regions\n", Loading @@ -818,14 +816,11 @@ static int do_fdtgrep(struct display_info *disp, const char *filename) disp->flags); disp->flags); if (count < 0) { if (count < 0) { report_error("fdt_find_regions", count); report_error("fdt_find_regions", count); free(region); return -1; return -1; } } if (count <= max_regions) if (count <= max_regions) break; break; free(region); free(region); fprintf(stderr, "Internal error with fdtgrep_find_region)(\n"); return -1; } } /* Optionally print a list of regions */ /* Optionally print a list of regions */ Loading