Commit bf259833 authored by Gerd Hoffmann's avatar Gerd Hoffmann
Browse files

cirrus: don't overflow CirrusVGAState->cirrus_bltbuf



This is CVE-2014-8106.

Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent d3532a0d
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -293,6 +293,10 @@ static bool blit_is_unsafe(struct CirrusVGAState *s)
    assert(s->cirrus_blt_width > 0);
    assert(s->cirrus_blt_height > 0);

    if (s->cirrus_blt_width > CIRRUS_BLTBUFSIZE) {
        return true;
    }

    if (blit_region_is_unsafe(s, s->cirrus_blt_dstpitch,
                              s->cirrus_blt_dstaddr & s->cirrus_addr_mask)) {
        return true;