[pulseaudio-discuss] [PATCH] bluetooth: assert that dbus_message_iter_append_basic() doesn't fail

Georg Chini georg at chini.tk
Wed Mar 29 18:06:18 UTC 2017


On 29.10.2016 20:06, Tanu Kaskinen wrote:
> The function can only fail if there's not enough memory available, and
> if that happens, the convention in PulseAudio is to abort.
>
> CID: 1353106, 1353108, 1353140
> ---
>   src/modules/bluetooth/backend-native.c | 4 ++--
>   src/modules/bluetooth/bluez4-util.c    | 4 ++--
>   src/modules/bluetooth/bluez5-util.c    | 2 +-
>   3 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/src/modules/bluetooth/backend-native.c b/src/modules/bluetooth/backend-native.c
> index cf88126..c472b59 100644
> --- a/src/modules/bluetooth/backend-native.c
> +++ b/src/modules/bluetooth/backend-native.c
> @@ -206,8 +206,8 @@ static void register_profile(pa_bluetooth_backend *b, const char *profile, const
>       pa_assert_se(m = dbus_message_new_method_call(BLUEZ_SERVICE, "/org/bluez", BLUEZ_PROFILE_MANAGER_INTERFACE, "RegisterProfile"));
>   
>       dbus_message_iter_init_append(m, &i);
> -    dbus_message_iter_append_basic(&i, DBUS_TYPE_OBJECT_PATH, &profile);
> -    dbus_message_iter_append_basic(&i, DBUS_TYPE_STRING, &uuid);
> +    pa_assert_se(dbus_message_iter_append_basic(&i, DBUS_TYPE_OBJECT_PATH, &profile));
> +    pa_assert_se(dbus_message_iter_append_basic(&i, DBUS_TYPE_STRING, &uuid));
>       dbus_message_iter_open_container(&i, DBUS_TYPE_ARRAY, DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING DBUS_TYPE_STRING_AS_STRING
>               DBUS_TYPE_VARIANT_AS_STRING DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &d);
>       dbus_message_iter_close_container(&i, &d);
> diff --git a/src/modules/bluetooth/bluez4-util.c b/src/modules/bluetooth/bluez4-util.c
> index 542ce35..06108f4 100644
> --- a/src/modules/bluetooth/bluez4-util.c
> +++ b/src/modules/bluetooth/bluez4-util.c
> @@ -792,7 +792,7 @@ static void register_endpoint(pa_bluez4_discovery *y, const char *path, const ch
>   
>       dbus_message_iter_init_append(m, &i);
>   
> -    dbus_message_iter_append_basic(&i, DBUS_TYPE_OBJECT_PATH, &endpoint);
> +    pa_assert_se(dbus_message_iter_append_basic(&i, DBUS_TYPE_OBJECT_PATH, &endpoint));
>   
>       dbus_message_iter_open_container(&i, DBUS_TYPE_ARRAY, DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING
>                                       DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_VARIANT_AS_STRING DBUS_DICT_ENTRY_END_CHAR_AS_STRING,
> @@ -1175,7 +1175,7 @@ static void set_property(pa_bluez4_discovery *y, const char *bus, const char *pa
>   
>       pa_assert_se(m = dbus_message_new_method_call(bus, path, interface, "SetProperty"));
>       dbus_message_iter_init_append(m, &i);
> -    dbus_message_iter_append_basic(&i, DBUS_TYPE_STRING, &prop_name);
> +    pa_assert_se(dbus_message_iter_append_basic(&i, DBUS_TYPE_STRING, &prop_name));
>       pa_dbus_append_basic_variant(&i, prop_type, prop_value);
>   
>       dbus_message_set_no_reply(m, true);
> diff --git a/src/modules/bluetooth/bluez5-util.c b/src/modules/bluetooth/bluez5-util.c
> index 7d63f35..7c568df 100644
> --- a/src/modules/bluetooth/bluez5-util.c
> +++ b/src/modules/bluetooth/bluez5-util.c
> @@ -865,7 +865,7 @@ static void register_endpoint(pa_bluetooth_discovery *y, const char *path, const
>       pa_assert_se(m = dbus_message_new_method_call(BLUEZ_SERVICE, path, BLUEZ_MEDIA_INTERFACE, "RegisterEndpoint"));
>   
>       dbus_message_iter_init_append(m, &i);
> -    dbus_message_iter_append_basic(&i, DBUS_TYPE_OBJECT_PATH, &endpoint);
> +    pa_assert_se(dbus_message_iter_append_basic(&i, DBUS_TYPE_OBJECT_PATH, &endpoint));
>       dbus_message_iter_open_container(&i, DBUS_TYPE_ARRAY, DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING DBUS_TYPE_STRING_AS_STRING
>                                            DBUS_TYPE_VARIANT_AS_STRING DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &d);
>       pa_dbus_append_basic_variant_dict_entry(&d, "UUID", DBUS_TYPE_STRING, &uuid);

Looks good to me.



More information about the pulseaudio-discuss mailing list