From fcbe44bcf0b045756d48962a3ae3f6767909a2d4 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Thu, 3 Apr 2014 13:51:42 +0300 Subject: [PATCH] android/avrcp-lib: Fix byte order in avrcp_get_item_attributes --- android/avrcp-lib.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/android/avrcp-lib.c b/android/avrcp-lib.c index d6459ce28..62a1c6993 100644 --- a/android/avrcp-lib.c +++ b/android/avrcp-lib.c @@ -1868,15 +1868,22 @@ int avrcp_get_item_attributes(struct avrcp *session, uint8_t scope, uint32_t *attrs) { uint8_t pdu[12 + number * sizeof(uint32_t)]; + int i; pdu[0] = scope; put_be64(uid, &pdu[1]); put_be16(counter, &pdu[9]); pdu[11] = number; - if (number > 0) - memcpy(&pdu[12], attrs, number * sizeof(uint32_t)); + if (!number) + goto done; + for (i = 0; i < number; i++) + put_be32(attrs[i], &attrs[i]); + + memcpy(&pdu[12], attrs, number * sizeof(uint32_t)); + +done: return avrcp_send_browsing_req(session, AVRCP_GET_ITEM_ATTRIBUTES, pdu, sizeof(pdu), get_item_attributes_rsp, session); -- 2.47.3