mirror of https://github.com/xemu-project/xemu.git
fw_cfg: fix crash if FW_CFG_WRITE_CHANNEL is used incorrectly
Avoid a crash if the guest combines FW_CFG_WRITE_CHANNEL with a wrong value. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
9f8d2a093f
commit
962d4b2834
|
@ -214,7 +214,8 @@ static void fw_cfg_write(FWCfgState *s, uint8_t value)
|
||||||
|
|
||||||
FW_CFG_DPRINTF("write %d\n", value);
|
FW_CFG_DPRINTF("write %d\n", value);
|
||||||
|
|
||||||
if (s->cur_entry & FW_CFG_WRITE_CHANNEL && s->cur_offset < e->len) {
|
if (s->cur_entry & FW_CFG_WRITE_CHANNEL && e->callback &&
|
||||||
|
s->cur_offset < e->len) {
|
||||||
e->data[s->cur_offset++] = value;
|
e->data[s->cur_offset++] = value;
|
||||||
if (s->cur_offset == e->len) {
|
if (s->cur_offset == e->len) {
|
||||||
e->callback(e->callback_opaque, e->data);
|
e->callback(e->callback_opaque, e->data);
|
||||||
|
|
Loading…
Reference in New Issue