Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP4:Update
xen.11298
CVE-2017-13672-qemuu-fix.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File CVE-2017-13672-qemuu-fix.patch of Package xen.11298
Index: xen-4.5.5-testing/tools/qemu-xen-dir-remote/hw/display/vga_template.h =================================================================== --- xen-4.5.5-testing.orig/tools/qemu-xen-dir-remote/hw/display/vga_template.h +++ xen-4.5.5-testing/tools/qemu-xen-dir-remote/hw/display/vga_template.h @@ -354,7 +354,10 @@ static void glue(vga_draw_line15_, PIXEL uint32_t addr, int width) { #if DEPTH == 15 && defined(HOST_WORDS_BIGENDIAN) == defined(TARGET_WORDS_BIGENDIAN) - memcpy(d, (uint8_t *)addr, width * 2); + uint32_t offset = addr & vga->vbe_size_mask & ~1; + uint16_t *ptr = (uint16_t *)(vga->vram_ptr + offset); + + memcpy(d, ptr, width * 2); #else int w; uint32_t v, r, g, b; @@ -379,7 +382,10 @@ static void glue(vga_draw_line16_, PIXEL uint32_t addr, int width) { #if DEPTH == 16 && defined(HOST_WORDS_BIGENDIAN) == defined(TARGET_WORDS_BIGENDIAN) - memcpy(d, (uint8_t *)addr, width * 2); + uint32_t offset = addr & vga->vbe_size_mask & ~1; + uint16_t *ptr = (uint16_t *)(vga->vram_ptr + offset); + + memcpy(d, ptr, width * 2); #else int w; uint32_t v, r, g, b; @@ -430,7 +436,10 @@ static void glue(vga_draw_line32_, PIXEL uint32_t addr, int width) { #if DEPTH == 32 && defined(HOST_WORDS_BIGENDIAN) == defined(TARGET_WORDS_BIGENDIAN) && !defined(BGR_FORMAT) - memcpy(d, (uint8_t *)addr, width * 4); + uint32_t offset = addr & vga->vbe_size_mask & ~3; + uint32_t *ptr = (uint32_t *)(vga->vram_ptr + offset); + + memcpy(d, ptr, width * 4); #else int w; uint32_t r, g, b;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor