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@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
/* 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;
}