Commit 0b8b397e authored by Mathias Fiedler's avatar Mathias Fiedler Committed by Kristian Høgsberg
Browse files

connection: reserve id on incoming new object

If a new object id arrives ensure that there is an empty array entry
created, otherwise we might get out of sync for new ids if object isn't
created by interface implementation.
parent bfcd6819
......@@ -756,14 +756,14 @@ wl_connection_demarshal(struct wl_connection *connection,
closure->args[i] = id;
*id = p;
object = wl_map_lookup(objects, *p);
if (object != NULL) {
printf("not a new object (%d), "
if (wl_map_reserve_new(objects, *p) < 0) {
printf("not a valid new object id (%d), "
"message %s(%s)\n",
*p, message->name, message->signature);
errno = EINVAL;
goto err;
}
p++;
break;
case 'a':
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment