qxl: add sanity check
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAABAgAGBQJTCzSXAAoJEEy22O7T6HE4HdoP/3RloECZD/NP6lBYhuqpq6Sw NMPMKv76LNKdLlV2S/UC3Wz1yKeXEchSNBsgp51+1AHVxLdJa8YUYnMyj6dpMINy 33L0T0+066cMWsLkQ0yp6sEdyjO7NXx09gSRKwkYLb0Rt4Ae7VmE7yp9BQ5SUF3S NRj/9jgeGkZMO3FXhROE0KzCoEkZ2lNnpBJRX4nifWaIcrobdW/R4zzpR8i3AhVu GQCc5h7Fr88oQxqpxcqbZuF5X7bZSgvs2hHixnvr3HN8j6qA1xCjsqSyJZY7THi7 wesMz1Gb0EZizN/fr/gNFrBdMJ6PI8BUMq99sMz9mjHCHkTmt+yuFtA3mHXgJp/I zrwM77/VZU+1OYlbf6t0krqqhZQWH5iwCdlTGpcgHo45vVHxwFZruoi1MfuLJZ55 0aaojd2UmzP5BwX/9bihvRrZhal2P1iqrgd0DGjAYHbfDo+DSXKwGuQW13XCpgGf e9akrvRnSI/df6GuctsgwRrcTJpdbemNQ6ge6ZGcSGgL8gbVD2DsWwZ+Z7OleAk+ Qy05zumIIus4iyijqrIF3yTWSWrPCtpQv0OEfv71Eswyd98BYUo6+ApoGIyEm7tX bOKnB6w9x+aQboal2Q+U+1Rq0c88zwD9HBcji0dBL73g5pqSVxG4Ubcjx+EvGwXp pkqugNnFRE+hya58+NAt =WGO6 -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/spice/tags/pull-spice-3' into staging qxl: add sanity check # gpg: Signature made Mon 24 Feb 2014 12:01:27 GMT using RSA key ID D3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" # gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" # gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" * remotes/spice/tags/pull-spice-3: qxl: add sanity check Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
a89d97df1f
|
@ -1429,7 +1429,7 @@ static int qxl_destroy_primary(PCIQXLDevice *d, qxl_async_io async)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void qxl_set_mode(PCIQXLDevice *d, int modenr, int loadvm)
|
static void qxl_set_mode(PCIQXLDevice *d, unsigned int modenr, int loadvm)
|
||||||
{
|
{
|
||||||
pcibus_t start = d->pci.io_regions[QXL_RAM_RANGE_INDEX].addr;
|
pcibus_t start = d->pci.io_regions[QXL_RAM_RANGE_INDEX].addr;
|
||||||
pcibus_t end = d->pci.io_regions[QXL_RAM_RANGE_INDEX].size + start;
|
pcibus_t end = d->pci.io_regions[QXL_RAM_RANGE_INDEX].size + start;
|
||||||
|
@ -1439,6 +1439,12 @@ static void qxl_set_mode(PCIQXLDevice *d, int modenr, int loadvm)
|
||||||
.mem_start = start,
|
.mem_start = start,
|
||||||
.mem_end = end
|
.mem_end = end
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (modenr >= d->modes->n_modes) {
|
||||||
|
qxl_set_guest_bug(d, "mode number out of range");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
QXLSurfaceCreate surface = {
|
QXLSurfaceCreate surface = {
|
||||||
.width = mode->x_res,
|
.width = mode->x_res,
|
||||||
.height = mode->y_res,
|
.height = mode->y_res,
|
||||||
|
|
Loading…
Reference in New Issue