diff options
author | Akihiko Odaki <akihiko.odaki@daynix.com> | 2024-03-07 19:20:56 +0900 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2024-03-11 17:06:06 +0000 |
commit | 2aa501af351c25f91c56f3c9fd023df4bbea3f3c (patch) | |
tree | 9308895324c49df9d9b8a23eb9216ed3fafda2f4 /contrib | |
parent | 667909478b09f9f16b03b7e7b11f3c42e7bdcdf3 (diff) |
contrib/elf2dmp: Use lduw_le_p() to read PDB
The relevant value may be unaligned and is little-endian.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Tested-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20240307-elf2dmp-v4-13-4f324ad4d99d@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/elf2dmp/pdb.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/contrib/elf2dmp/pdb.c b/contrib/elf2dmp/pdb.c index 1c50514251..492aca4434 100644 --- a/contrib/elf2dmp/pdb.c +++ b/contrib/elf2dmp/pdb.c @@ -19,6 +19,7 @@ */ #include "qemu/osdep.h" +#include "qemu/bswap.h" #include "pdb.h" #include "err.h" @@ -186,7 +187,7 @@ static bool pdb_init_symbols(struct pdb_reader *r) r->symbols = symbols; - r->segments = *(uint16_t *)((const char *)symbols + sizeof(PDB_SYMBOLS) + + r->segments = lduw_le_p((const char *)symbols + sizeof(PDB_SYMBOLS) + symbols->module_size + symbols->offset_size + symbols->hash_size + symbols->srcmodule_size + symbols->pdbimport_size + symbols->unknown2_size + |