From 971f8e4ace3d4080340f43574043c31f46db312f Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Thu, 14 Jul 2022 08:36:21 -0700 Subject: Do not allow nullable `new_id` The usefulness of this is limited, and `libwayland-client` doesn't provide a way to pass a null `new_id` since the id is generated by the library and given to the caller as the return value. Signed-off-by: Ian Douglas Scott --- src/connection.c | 4 ++-- src/scanner.c | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/connection.c b/src/connection.c index 594f2e9..ceaeac1 100644 --- a/src/connection.c +++ b/src/connection.c @@ -630,7 +630,7 @@ wl_closure_marshal(struct wl_object *sender, uint32_t opcode, break; case 'n': object = args[i].o; - if (!arg.nullable && object == NULL) + if (object == NULL) goto err_null; closure->args[i].n = object ? object->id : 0; @@ -799,7 +799,7 @@ wl_connection_demarshal(struct wl_connection *connection, id = *p++; closure->args[i].n = id; - if (id == 0 && !arg.nullable) { + if (id == 0) { wl_log("NULL new ID received on non-nullable " "type, message %s(%s)\n", message->name, message->signature); diff --git a/src/scanner.c b/src/scanner.c index 551d817..da8adea 100644 --- a/src/scanner.c +++ b/src/scanner.c @@ -414,7 +414,6 @@ is_nullable_type(struct arg *arg) /* Strings and objects are possibly nullable */ case STRING: case OBJECT: - case NEW_ID: return true; default: return false; -- cgit v1.2.3-70-g09d2