mirror of https://github.com/xemu-project/xemu.git
cirrus_vga: fix potential memory overflow
Signed-off-by: lu zhipeng <luzhipeng@cestc.cn> Message-Id: <20220929122352.1891-1-luzhipeng@cestc.cn> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
604a86895f
commit
2fba4e9c49
|
@ -834,7 +834,7 @@ static void cirrus_bitblt_cputovideo_next(CirrusVGAState * s)
|
||||||
word alignment, so we keep them for the next line */
|
word alignment, so we keep them for the next line */
|
||||||
/* XXX: keep alignment to speed up transfer */
|
/* XXX: keep alignment to speed up transfer */
|
||||||
end_ptr = s->cirrus_bltbuf + s->cirrus_blt_srcpitch;
|
end_ptr = s->cirrus_bltbuf + s->cirrus_blt_srcpitch;
|
||||||
copy_count = s->cirrus_srcptr_end - end_ptr;
|
copy_count = MIN(s->cirrus_srcptr_end - end_ptr, CIRRUS_BLTBUFSIZE);
|
||||||
memmove(s->cirrus_bltbuf, end_ptr, copy_count);
|
memmove(s->cirrus_bltbuf, end_ptr, copy_count);
|
||||||
s->cirrus_srcptr = s->cirrus_bltbuf + copy_count;
|
s->cirrus_srcptr = s->cirrus_bltbuf + copy_count;
|
||||||
s->cirrus_srcptr_end = s->cirrus_bltbuf + s->cirrus_blt_srcpitch;
|
s->cirrus_srcptr_end = s->cirrus_bltbuf + s->cirrus_blt_srcpitch;
|
||||||
|
|
Loading…
Reference in New Issue