Message ID | 20190506125119.GB13799@mwanda (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ALSA: synth: emux: soundfont.c: divide by zero in calc_gus_envelope_time() | expand |
On Mon, 06 May 2019 14:51:19 +0200, Dan Carpenter wrote: > > This function is called from load_guspatch() and the rate is specified > by the user. If they accidentally selected zero then it would crash the > kernel. I've just changed the zero to a one. > > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Thanks, applied now. Takashi > --- > sound/synth/emux/soundfont.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/sound/synth/emux/soundfont.c b/sound/synth/emux/soundfont.c > index 31a4ea94830e..9b5d70104489 100644 > --- a/sound/synth/emux/soundfont.c > +++ b/sound/synth/emux/soundfont.c > @@ -856,6 +856,8 @@ calc_gus_envelope_time(int rate, int start, int end) > int r, p, t; > r = (3 - ((rate >> 6) & 3)) * 3; > p = rate & 0x3f; > + if (!p) > + p = 1; > t = end - start; > if (t < 0) t = -t; > if (13 > r) > -- > 2.18.0 > >
diff --git a/sound/synth/emux/soundfont.c b/sound/synth/emux/soundfont.c index 31a4ea94830e..9b5d70104489 100644 --- a/sound/synth/emux/soundfont.c +++ b/sound/synth/emux/soundfont.c @@ -856,6 +856,8 @@ calc_gus_envelope_time(int rate, int start, int end) int r, p, t; r = (3 - ((rate >> 6) & 3)) * 3; p = rate & 0x3f; + if (!p) + p = 1; t = end - start; if (t < 0) t = -t; if (13 > r)
This function is called from load_guspatch() and the rate is specified by the user. If they accidentally selected zero then it would crash the kernel. I've just changed the zero to a one. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> --- sound/synth/emux/soundfont.c | 2 ++ 1 file changed, 2 insertions(+)