From bd7644ed29575fca22424c515e8adaad872ac1b2 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Fri, 25 May 2012 18:02:43 +0300 Subject: [PATCH] AVRCP: Fix initializing volume before checking PDU type Response may be rejected or not implemented so the operand used to initialize the variable may not even exist. --- audio/avrcp.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/audio/avrcp.c b/audio/avrcp.c index 87a785b6e..2f96f2751 100644 --- a/audio/avrcp.c +++ b/audio/avrcp.c @@ -1145,12 +1145,14 @@ static gboolean avrcp_handle_volume_changed(struct avctp *session, { struct avrcp_player *player = user_data; struct avrcp_header *pdu = (void *) operands; - uint8_t abs_volume = pdu->params[1] & 0x7F; + uint8_t volume; if (code == AVC_CTYPE_REJECTED || code == AVC_CTYPE_NOT_IMPLEMENTED) return FALSE; - player->cb->set_volume(abs_volume, player->dev, player->user_data); + volume = pdu->params[1] & 0x7F; + + player->cb->set_volume(volume, player->dev, player->user_data); return TRUE; } -- 2.47.3