From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> Unknown events should be treated as protocol error since there is no way to parse them properly and there is no support for vendor specific either. --- android/avrcp-lib.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/android/avrcp-lib.c b/android/avrcp-lib.c index 60d6e97..a490d76 100644 --- a/android/avrcp-lib.c +++ b/android/avrcp-lib.c @@ -1779,6 +1779,11 @@ static gboolean register_notification_rsp(struct avctp *conn, rsp = (void *) pdu->params; event = rsp->event; + if (event > AVRCP_EVENT_LAST) { + err = -EPROTO; + goto done; + } + switch (event) { case AVRCP_EVENT_STATUS_CHANGED: case AVRCP_EVENT_VOLUME_CHANGED: @@ -1843,6 +1848,9 @@ int avrcp_register_notification(struct avrcp *session, uint8_t event, struct iovec iov; struct register_notification_req req; + if (event > AVRCP_EVENT_LAST) + return -EINVAL; + req.event = event; put_be32(interval, &req.interval); -- 1.9.3 -- 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