From: Kangjie Lu Date: Tue, 3 May 2016 20:44:07 +0000 (-0400) Subject: ALSA: timer: Fix leak in SNDRV_TIMER_IOCTL_PARAMS X-Git-Tag: v4.1.12-92~42^2~4 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=6be02256f430f800f8bc804a6fc4f72c705428e8;p=users%2Fjedix%2Flinux-maple.git ALSA: timer: Fix leak in SNDRV_TIMER_IOCTL_PARAMS 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 Signed-off-by: Takashi Iwai Orabug: 25059408 CVE: CVE-2016-4569 Mainline v4.7 commit cec8f96e49d9be372fdb0c3836dcf31ec71e457e Signed-off-by: Chuck Anderson --- diff --git a/sound/core/timer.c b/sound/core/timer.c index a9a1a047c521..72eb1dd6dc76 100644 --- a/sound/core/timer.c +++ b/sound/core/timer.c @@ -1670,6 +1670,7 @@ static int snd_timer_user_params(struct file *file, 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;