Diff between 232160e60b31f616450da3ccb535bc64e826e843 and 5c7bb42c0850b8feef07ed9f91482d76b7b5e100

Changed Files

File Additions Deletions Status
gdbus/object.c +5 -0 modified

Full Patch

diff --git a/gdbus/object.c b/gdbus/object.c
index e569acb..688cd05 100644
--- a/gdbus/object.c
+++ b/gdbus/object.c
@@ -896,6 +896,11 @@ static DBusMessage *properties_set(DBusConnection *connection,
 						DBUS_ERROR_UNKNOWN_PROPERTY,
 						"No such property '%s'", name);
 
+	if (strcmp(dbus_message_iter_get_signature(&sub), property->type))
+		return g_dbus_create_error(message,
+					DBUS_ERROR_INVALID_SIGNATURE,
+					"Invalid signature for '%s'", name);
+
 	propdata = g_new(struct property_data, 1);
 	propdata->id = next_pending_property++;
 	propdata->message = dbus_message_ref(message);