From 2b3adf8668ab4e0e57168725f2562006bb5472ef Mon Sep 17 00:00:00 2001 From: "Lu, Han" Date: Wed, 1 Jun 2016 16:54:28 +0800 Subject: alsabat: fix a possible memory leak Fix a possible memory leak in generate_sine_wave(). Memory free was ignored when the function return an error. Signed-off-by: Lu, Han Signed-off-by: Takashi Iwai --- bat/signal.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/bat/signal.c b/bat/signal.c index a47ba97..61d2824 100644 --- a/bat/signal.c +++ b/bat/signal.c @@ -168,16 +168,17 @@ int generate_sine_wave(struct bat *bat, int frames, void *buf) /* reorder samples to interleaved mode */ err = reorder(bat, sinus_f, frames); if (err != 0) - return err; + goto exit; /* adjust amplitude and offset of waveform */ err = adjust_waveform(bat, sinus_f, frames); if (err != 0) - return err; + goto exit; bat->convert_float_to_sample(sinus_f, buf, frames, bat->channels); +exit: free(sinus_f); - return 0; + return err; } -- cgit v1.2.1