While GUID EFI text representaion needs 36 bytes, all the buffers for
GUID EFI passed to guid_to_str() are of 33 bytes, due to which last
three characters in GUID are not displayed now.

This patch increases buffer size from 33 bytes to 36 bytes and make
GUID fully visible.

Signed-off-by: HATAYAMA Daisuke <[email protected]>
---
 sadump_info.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/sadump_info.c b/sadump_info.c
index be6cf55..e563180 100644
--- a/sadump_info.c
+++ b/sadump_info.c
@@ -23,6 +23,8 @@
 #include "print_info.h"
 #include "sadump_mod.h"
 
+#define SADUMP_EFI_GUID_TEXT_REPR_LEN 36
+
 #ifdef __x86__
 
 #define KEXEC_NOTE_HEAD_BYTES roundup(sizeof(Elf32_Nhdr), 4)
@@ -427,7 +429,7 @@ read_sadump_header(char *filename)
        unsigned long bitmap_len, dumpable_bitmap_len;
        enum sadump_format_type flag_sadump;
        uint32_t smram_cpu_state_size = 0;
-       char guid[33];
+       char guid[SADUMP_EFI_GUID_TEXT_REPR_LEN+1];
 
        if ((si->sph_memory = malloc(SADUMP_DEFAULT_BLOCK_SIZE)) == NULL) {
                ERRMSG("Can't allocate memory for partition header buffer: "
@@ -664,7 +666,7 @@ read_sadump_header_diskset(int diskid, struct 
sadump_diskset_info *sdi)
 {
        struct sadump_part_header *sph = NULL;
        unsigned long offset = 0;
-       char guid[33];
+       char guid[SADUMP_EFI_GUID_TEXT_REPR_LEN+1];
 
        if ((sph = malloc(si->sh_memory->block_size)) == NULL) {
                ERRMSG("Can't allocate memory for partition header buffer. "


_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to