Add helper grub_util_free_path_list and use it where appropriate.
Found by: Coverity scan.
CID: 73727
grub_util_resolve_dependencies (const char *prefix,
const char *dep_list_file,
char *modules[]);
+void grub_util_free_path_list (struct grub_util_path_list *path_list);
#endif /* ! GRUB_UTIL_RESOLVE_HEADER */
grub_install_compress_file (srcf, dstf, 1);
free (dstf);
}
+
+ grub_util_free_path_list (path_list);
}
const char *pkglib_DATA[] = {"efiemu32.o", "efiemu64.o",
size_t prefix_size = 0;
char *kernel_path;
size_t offset;
- struct grub_util_path_list *path_list, *p, *next;
+ struct grub_util_path_list *path_list, *p;
size_t bss_size;
grub_uint64_t start_address;
void *rel_section = 0;
free (kernel_path);
free (rel_section);
- while (path_list)
- {
- next = path_list->next;
- free ((void *) path_list->name);
- free (path_list);
- path_list = next;
- }
+ grub_util_free_path_list (path_list);
}
return prev;
}
}
+
+void
+grub_util_free_path_list (struct grub_util_path_list *path_list)
+{
+ struct grub_util_path_list *next;
+
+ while (path_list)
+ {
+ next = path_list->next;
+ free ((void *) path_list->name);
+ free (path_list);
+ path_list = next;
+ }
+}