Commit 953f1006 authored by Sean Young's avatar Sean Young Committed by Mauro Carvalho Chehab

media: dvb: digitv: remove unused array element 0

The first element of the key array is not used. Remove it, and
along with it a uninitialized memory read.

This should fix the rc debug message.

Link: https://www.spinics.net/lists/kernel/msg3374861.htmlSuggested-by: default avatarPhong Tran <tranmanphong@gmail.com>
Signed-off-by: default avatarSean Young <sean@mess.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent e6940c03
...@@ -230,14 +230,15 @@ static struct rc_map_table rc_map_digitv_table[] = { ...@@ -230,14 +230,15 @@ static struct rc_map_table rc_map_digitv_table[] = {
static int digitv_rc_query(struct dvb_usb_device *d, u32 *event, int *state) static int digitv_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
{ {
struct rc_map_table *entry;
int ret, i; int ret, i;
u8 key[5]; u8 key[4];
u8 b[4] = { 0 }; u8 b[4] = { 0 };
*event = 0; *event = 0;
*state = REMOTE_NO_KEY_PRESSED; *state = REMOTE_NO_KEY_PRESSED;
ret = digitv_ctrl_msg(d, USB_READ_REMOTE, 0, NULL, 0, &key[1], 4); ret = digitv_ctrl_msg(d, USB_READ_REMOTE, 0, NULL, 0, key, 4);
if (ret) if (ret)
return ret; return ret;
...@@ -248,20 +249,21 @@ static int digitv_rc_query(struct dvb_usb_device *d, u32 *event, int *state) ...@@ -248,20 +249,21 @@ static int digitv_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
return ret; return ret;
/* if something is inside the buffer, simulate key press */ /* if something is inside the buffer, simulate key press */
if (key[1] != 0) if (key[0] != 0) {
{
for (i = 0; i < d->props.rc.legacy.rc_map_size; i++) { for (i = 0; i < d->props.rc.legacy.rc_map_size; i++) {
if (rc5_custom(&d->props.rc.legacy.rc_map_table[i]) == key[1] && entry = &d->props.rc.legacy.rc_map_table[i];
rc5_data(&d->props.rc.legacy.rc_map_table[i]) == key[2]) {
*event = d->props.rc.legacy.rc_map_table[i].keycode; if (rc5_custom(entry) == key[0] &&
rc5_data(entry) == key[1]) {
*event = entry->keycode;
*state = REMOTE_KEY_PRESSED; *state = REMOTE_KEY_PRESSED;
return 0; return 0;
} }
} }
deb_rc("key: %*ph\n", 4, key);
} }
if (key[0] != 0)
deb_rc("key: %*ph\n", 5, key);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment