summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-09-08 20:01:39 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-09-08 20:01:39 -0700
commit340cc56cc2b8a067a9c55a2048d89dc294c3be31 (patch)
tree530b6098cf94a6fd4caa1503ca0afa77462f5fa0
parent3de15cf06e84d521e8dbedc243fcf5964fa0f577 (diff)
parentcb93febf41fec5d54987c0da03c3964ebcaecf7b (diff)
Merge "ALSA: timer: Fix leak in events via snd_timer_user_ccallback"
-rw-r--r--sound/core/timer.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/core/timer.c b/sound/core/timer.c
index cfa3500a3327..a3f547badd38 100644
--- a/sound/core/timer.c
+++ b/sound/core/timer.c
@@ -1247,6 +1247,7 @@ static void snd_timer_user_ccallback(struct snd_timer_instance *timeri,
tu->tstamp = *tstamp;
if ((tu->filter & (1 << event)) == 0 || !tu->tread)
return;
+ memset(&r1, 0, sizeof(r1));
r1.event = event;
r1.tstamp = *tstamp;
r1.val = resolution;
@@ -1281,6 +1282,7 @@ static void snd_timer_user_tinterrupt(struct snd_timer_instance *timeri,
}
if ((tu->filter & (1 << SNDRV_TIMER_EVENT_RESOLUTION)) &&
tu->last_resolution != resolution) {
+ memset(&r1, 0, sizeof(r1));
r1.event = SNDRV_TIMER_EVENT_RESOLUTION;
r1.tstamp = tstamp;
r1.val = resolution;