[PATCH wayland] connection: Fix broken log message when demarshalling short closure

Derek Foreman derekf at osg.samsung.com
Wed Feb 14 18:15:11 UTC 2018


Like the similar wl_log() message further into this function that was
fixed in commit 2fc248dc2c877d02694db40aad52180d71373d5a this should
be printing the sender_id saved earlier instead of *p.

Since p is incremented during the loop it would not only print an
incorrect object id, it could read past the end of the array.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
---
 src/connection.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/connection.c b/src/connection.c
index 5d5711f..294c521 100644
--- a/src/connection.c
+++ b/src/connection.c
@@ -710,7 +710,8 @@ wl_connection_demarshal(struct wl_connection *connection,
 		if (arg.type != 'h' && p + 1 > end) {
 			wl_log("message too short, "
 			       "object (%d), message %s(%s)\n",
-			       *p, message->name, message->signature);
+			       closure->sender_id, message->name,
+			       message->signature);
 			errno = EINVAL;
 			goto err;
 		}
-- 
2.14.3



More information about the wayland-devel mailing list