diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/libxc/xc_dom_x86.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/libxc/xc_dom_x86.c b/tools/libxc/xc_dom_x86.c index f96ec3f7ab..9306636ba8 100644 --- a/tools/libxc/xc_dom_x86.c +++ b/tools/libxc/xc_dom_x86.c @@ -418,7 +418,8 @@ static int start_info_x86_32(struct xc_dom_image *dom) xc_dom_printf("%s: called\n", __FUNCTION__); memset(start_info, 0, sizeof(*start_info)); - snprintf(start_info->magic, sizeof(start_info->magic), dom->guest_type); + strncpy(start_info->magic, dom->guest_type, sizeof(start_info->magic)); + start_info->magic[sizeof(start_info->magic) - 1] = '\0'; start_info->nr_pages = dom->total_pages; start_info->shared_info = shinfo << PAGE_SHIFT_X86; start_info->pt_base = dom->pgtables_seg.vstart; @@ -457,7 +458,8 @@ static int start_info_x86_64(struct xc_dom_image *dom) xc_dom_printf("%s: called\n", __FUNCTION__); memset(start_info, 0, sizeof(*start_info)); - snprintf(start_info->magic, sizeof(start_info->magic), dom->guest_type); + strncpy(start_info->magic, dom->guest_type, sizeof(start_info->magic)); + start_info->magic[sizeof(start_info->magic) - 1] = '\0'; start_info->nr_pages = dom->total_pages; start_info->shared_info = shinfo << PAGE_SHIFT_X86; start_info->pt_base = dom->pgtables_seg.vstart; |