elf_ops.h: Don't truncate name of the ROM blobs we create
Currently the load_elf code assembles the ROM blob name into a local 128 byte fixed-size array. Use g_strdup_printf() instead so that we don't truncate the pathname if it happens to be long. (This matters mostly for monitor 'info roms' output and for the error messages if ROM blobs overlap.) Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20201129203923.10622-4-peter.maydell@linaro.org
This commit is contained in:
parent
837a059516
commit
926c9063dc
|
@ -330,7 +330,6 @@ static int glue(load_elf, SZ)(const char *name, int fd,
|
|||
uint64_t addr, low = (uint64_t)-1, high = 0;
|
||||
GMappedFile *mapped_file = NULL;
|
||||
uint8_t *data = NULL;
|
||||
char label[128];
|
||||
int ret = ELF_LOAD_FAILED;
|
||||
|
||||
if (read(fd, &ehdr, sizeof(ehdr)) != sizeof(ehdr))
|
||||
|
@ -544,7 +543,8 @@ static int glue(load_elf, SZ)(const char *name, int fd,
|
|||
*/
|
||||
if (mem_size != 0) {
|
||||
if (load_rom) {
|
||||
snprintf(label, sizeof(label), "phdr #%d: %s", i, name);
|
||||
g_autofree char *label =
|
||||
g_strdup_printf("phdr #%d: %s", i, name);
|
||||
|
||||
/*
|
||||
* rom_add_elf_program() takes its own reference to
|
||||
|
|
Loading…
Reference in a new issue