Re: [PATCH BlueZ 04/13] android/hal-avrcp: Add .list_player_app_attr_rsp implementation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Luiz,

On Tuesday 18 February 2014 16:24:21 Luiz Augusto von Dentz wrote:
> From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx>
> 
> ---
>  android/hal-avrcp.c | 32 ++++++++++++++++++++++++++++++++
>  1 file changed, 32 insertions(+)
> 
> diff --git a/android/hal-avrcp.c b/android/hal-avrcp.c
> index 9937a11..244f77a 100644
> --- a/android/hal-avrcp.c
> +++ b/android/hal-avrcp.c
> @@ -18,6 +18,7 @@
>  #include <stdbool.h>
>  #include <stddef.h>
>  #include <string.h>
> +#include <stdlib.h>
> 
>  #include "hal-log.h"
>  #include "hal.h"
> @@ -74,6 +75,36 @@ static bt_status_t get_play_status_rsp(btrc_play_status_t
> status, sizeof(cmd), &cmd, 0, NULL, NULL);
>  }
> 
> +static bt_status_t list_player_app_attr_rsp(int num_attr,
> +						btrc_player_attr_t *p_attrs)
> +{
> +	struct hal_cmd_avrcp_list_player_attrs *cmd;
> +	bt_status_t status;
> +	size_t len;
> +
> +	DBG("");
> +
> +	if (!interface_ready())
> +		return BT_STATUS_NOT_READY;
> +
> +	if (num_attr < 0)
> +		return BT_STATUS_PARM_INVALID;
> +
> +	len = sizeof(*cmd) + num_attr;
> +	cmd = malloc(len);
> +

We should check for allocation error (highly unlikely though) here and return 
error status. Other option would be to use VLA or fixed size array for buffer.

(same goes for other HAL functions implementations in this serie)

> +	cmd->number = num_attr;
> +	memcpy(cmd->attrs, p_attrs, num_attr);
> +
> +	status =  hal_ipc_cmd(HAL_SERVICE_ID_AVRCP,
> +					HAL_OP_AVRCP_LIST_PLAYER_ATTRS,
> +					len, cmd, 0, NULL, NULL);
> +
> +	free(cmd);
> +
> +	return status;
> +}
> +
>  static void cleanup()
>  {
>  	struct hal_cmd_unregister_module cmd;
> @@ -97,6 +128,7 @@ static btrc_interface_t iface = {
>  	.size = sizeof(iface),
>  	.init = init,
>  	.get_play_status_rsp = get_play_status_rsp,
> +	.list_player_app_attr_rsp = list_player_app_attr_rsp,
>  	.cleanup = cleanup
>  };

-- 
Szymon K. Janc
szymon.janc@xxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux