| From cec8f96e49d9be372fdb0c3836dcf31ec71e457e Mon Sep 17 00:00:00 2001 |
| From: Kangjie Lu <kangjielu@gmail.com> |
| Date: Tue, 3 May 2016 16:44:07 -0400 |
| Subject: ALSA: timer: Fix leak in SNDRV_TIMER_IOCTL_PARAMS |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Kangjie Lu <kangjielu@gmail.com> |
| |
| commit cec8f96e49d9be372fdb0c3836dcf31ec71e457e upstream. |
| |
| The stack object “tread” has a total size of 32 bytes. Its field |
| “event” and “val” both contain 4 bytes padding. These 8 bytes |
| padding bytes are sent to user without being initialized. |
| |
| Signed-off-by: Kangjie Lu <kjlu@gatech.edu> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/core/timer.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/sound/core/timer.c |
| +++ b/sound/core/timer.c |
| @@ -1707,6 +1707,7 @@ static int snd_timer_user_params(struct |
| if (tu->timeri->flags & SNDRV_TIMER_IFLG_EARLY_EVENT) { |
| if (tu->tread) { |
| struct snd_timer_tread tread; |
| + memset(&tread, 0, sizeof(tread)); |
| tread.event = SNDRV_TIMER_EVENT_EARLY; |
| tread.tstamp.tv_sec = 0; |
| tread.tstamp.tv_nsec = 0; |