From 6a48d43bc8b7b2fa4649b258aaa69eab3cb06f6f Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Tue, 12 Dec 2017 14:04:47 +0000 Subject: [PATCH 5/7] header-fields test: Exercise _dbus_message_remove_unknown_fields Signed-off-by: Simon McVittie --- dbus/dbus-marshal-header.c | 10 ---------- test/header-fields.c | 11 ++++++----- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/dbus/dbus-marshal-header.c b/dbus/dbus-marshal-header.c index 4907d117..d324fb17 100644 --- a/dbus/dbus-marshal-header.c +++ b/dbus/dbus-marshal-header.c @@ -1538,7 +1538,6 @@ _dbus_header_remove_unknown_fields (DBusHeader *header) while (_dbus_type_reader_get_current_type (&array) != DBUS_TYPE_INVALID) { DBusTypeReader sub; - DBusTypeReader variant; unsigned char field_code; _dbus_type_reader_recurse (&array, &sub); @@ -1557,15 +1556,6 @@ _dbus_header_remove_unknown_fields (DBusHeader *header) correct_header_padding (header); _dbus_header_cache_invalidate_all (header); } - else - { - _dbus_type_reader_next (&sub); - } - - _dbus_assert (_dbus_type_reader_get_current_type (&sub) == DBUS_TYPE_VARIANT); - _dbus_type_reader_recurse (&sub, &variant); - - _dbus_header_cache_one (header, field_code, &variant); _dbus_type_reader_next (&array); } diff --git a/test/header-fields.c b/test/header-fields.c index f33ce0df..af08354f 100644 --- a/test/header-fields.c +++ b/test/header-fields.c @@ -445,7 +445,11 @@ test_weird_header_field (void *user_data, goto out; } - /* TODO: Actually filter its header */ + if (!_dbus_message_remove_unknown_fields (filtered)) + { + g_assert_false (have_memory); + goto out; + } /* All known headers are the same as in the modified message that was * deserialized from the same blob */ @@ -509,10 +513,7 @@ test_weird_header_field (void *user_data, ==, DBUS_TYPE_BYTE); _dbus_type_reader_read_basic (&sub, &field_code); - if (field_code == NOT_A_HEADER_FIELD) - { - g_test_message ("TODO: header field was not filtered out"); - } + g_assert_cmpuint (field_code, !=, NOT_A_HEADER_FIELD); _dbus_type_reader_next (&array); } -- 2.15.1