[alsa-devel] [PATCH 1/1] alsabat: fix a possible memory leak

han.lu at intel.com han.lu at intel.com
Wed Jun 1 10:54:28 CEST 2016


From: "Lu, Han" <han.lu at intel.com>

Fix a possible memory leak in generate_sine_wave(). Memory free was
ignored when the function return an error.

Signed-off-by: Lu, Han <han.lu at intel.com>

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;
 }
-- 
2.5.0



More information about the Alsa-devel mailing list