summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@gmail.com>2013-10-03 21:46:53 +0200
committerChristophe Fergeau <cfergeau@redhat.com>2014-02-13 17:38:02 +0100
commit6a21f63788901f6fccc7f96ae0688cfcb2421716 (patch)
treea24b950fb8ba72506c80b9a580803d12415de723
parent569c447e65ad17a8a68c0c0795dd9154d1d59916 (diff)
worker: remove useless QXL_CMD_MESSAGE
Unsecure code shouldn't be compiled in even in debug mode. Doesn't seem to be used, and probably should be handled at qemu qxl driver level instead.
-rw-r--r--server/red_parse_qxl.c26
-rw-r--r--server/red_parse_qxl.h4
-rw-r--r--server/red_worker.c18
3 files changed, 0 insertions, 48 deletions
diff --git a/server/red_parse_qxl.c b/server/red_parse_qxl.c
index 590de8d2..a0ba825e 100644
--- a/server/red_parse_qxl.c
+++ b/server/red_parse_qxl.c
@@ -1181,32 +1181,6 @@ void red_put_update_cmd(RedUpdateCmd *red)
/* nothing yet */
}
-int red_get_message(RedMemSlotInfo *slots, int group_id,
- RedMessage *red, QXLPHYSICAL addr)
-{
- QXLMessage *qxl;
- int error;
-
- /*
- * security alert:
- * qxl->data[0] size isn't specified anywhere -> can't verify
- * luckily this is for debug logging only,
- * so we can just ignore it by default.
- */
- qxl = (QXLMessage *)memslot_get_virt(slots, addr, sizeof(*qxl), group_id, &error);
- if (error) {
- return 1;
- }
- red->release_info = &qxl->release_info;
- red->data = qxl->data;
- return 0;
-}
-
-void red_put_message(RedMessage *red)
-{
- /* nothing yet */
-}
-
int red_get_surface_cmd(RedMemSlotInfo *slots, int group_id,
RedSurfaceCmd *red, QXLPHYSICAL addr)
{
diff --git a/server/red_parse_qxl.h b/server/red_parse_qxl.h
index 2a974a3e..d35da1c5 100644
--- a/server/red_parse_qxl.h
+++ b/server/red_parse_qxl.h
@@ -130,10 +130,6 @@ int red_get_update_cmd(RedMemSlotInfo *slots, int group_id,
RedUpdateCmd *red, QXLPHYSICAL addr);
void red_put_update_cmd(RedUpdateCmd *red);
-int red_get_message(RedMemSlotInfo *slots, int group_id,
- RedMessage *red, QXLPHYSICAL addr);
-void red_put_message(RedMessage *red);
-
int red_get_surface_cmd(RedMemSlotInfo *slots, int group_id,
RedSurfaceCmd *red, QXLPHYSICAL addr);
void red_put_surface_cmd(RedSurfaceCmd *red);
diff --git a/server/red_worker.c b/server/red_worker.c
index 70986c73..39880c2b 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -335,24 +335,6 @@ static int red_process_commands(RedWorker *worker, uint32_t max_pipe_size, int *
red_put_update_cmd(&update);
break;
}
- case QXL_CMD_MESSAGE: {
- RedMessage message;
- QXLReleaseInfoExt release_info_ext;
-
- if (red_get_message(&worker->mem_slots, ext_cmd.group_id,
- &message, ext_cmd.cmd.data)) {
- break;
- }
-#ifdef DEBUG
- /* alert: accessing message.data is insecure */
- spice_warning("MESSAGE: %s", message.data);
-#endif
- release_info_ext.group_id = ext_cmd.group_id;
- release_info_ext.info = message.release_info;
- worker->qxl->st->qif->release_resource(worker->qxl, release_info_ext);
- red_put_message(&message);
- break;
- }
case QXL_CMD_SURFACE: {
RedSurfaceCmd *surface = spice_new0(RedSurfaceCmd, 1);