From 3f1063f92aa60cf93bca6a6b15a7f782b8df8f93 Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Mon, 31 Oct 2011 11:06:35 +0100 Subject: [PATCH] connection: Check object types in message parameters --- src/connection.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/connection.c b/src/connection.c index 19633145..a10508d0 100644 --- a/src/connection.c +++ b/src/connection.c @@ -594,6 +594,16 @@ wl_connection_demarshal(struct wl_connection *connection, goto err; } + if (*object != NULL && message->types[i-2] != NULL && + (*object)->interface != message->types[i-2]) { + printf("invalid object (%d), type (%s), " + "message %s(%s)\n", + *p, (*object)->interface->name, + message->name, message->signature); + errno = EINVAL; + goto err; + } + p++; break; case 'n':