diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2014-05-05 15:23:50 +0300 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2014-05-05 15:40:30 +0300 |
commit | 1dd3ac5875ee7756dd1b10e0ac50bf20e0ff011d (patch) | |
tree | 15c6e7be43b11faa5748ac22424227d8bc3e88e4 /android/avrcp-lib.c | |
parent | 0276e3a164b94d09522f95d31c9af69214fd687d (diff) | |
download | bluez-1dd3ac5875ee7756dd1b10e0ac50bf20e0ff011d.tar.gz |
android/avrcp-lib: Fix avrcp_get_player_attribute_text
This fixes avrcp_get_player_attribute_text generating incorrect PDUs.
Diffstat (limited to 'android/avrcp-lib.c')
-rw-r--r-- | android/avrcp-lib.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/android/avrcp-lib.c b/android/avrcp-lib.c index e56803f9a..077343f9b 100644 --- a/android/avrcp-lib.c +++ b/android/avrcp-lib.c @@ -1489,13 +1489,19 @@ done: int avrcp_get_player_attribute_text(struct avrcp *session, uint8_t number, uint8_t *attrs) { - struct iovec iov; + struct iovec iov[2]; - iov.iov_base = attrs; - iov.iov_len = number; + if (!number || number > AVRCP_ATTRIBUTE_LAST) + return -EINVAL; + + iov[0].iov_base = &number; + iov[0].iov_len = sizeof(number); + + iov[1].iov_base = attrs; + iov[1].iov_len = number; return avrcp_send_req(session, AVC_CTYPE_STATUS, AVC_SUBUNIT_PANEL, - AVRCP_GET_PLAYER_ATTRIBUTE_TEXT, &iov, 1, + AVRCP_GET_PLAYER_ATTRIBUTE_TEXT, iov, 2, get_attribute_text_rsp, session); } |