aboutsummaryrefslogtreecommitdiff
path: root/spectrogram.c
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2013-06-23 13:51:48 +0000
committerDimitri Sokolyuk <demon@dim13.org>2013-06-23 13:51:48 +0000
commitdd08aa7c4889ca6935ccd90327ed310be1294e01 (patch)
tree8edceeca8c6b9f497ce546979281a15314b8cb03 /spectrogram.c
parent68f146a132954db19c352db4168101e8f016a67f (diff)
fix double free
Diffstat (limited to 'spectrogram.c')
-rw-r--r--spectrogram.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/spectrogram.c b/spectrogram.c
index 4f882d4..214a22e 100644
--- a/spectrogram.c
+++ b/spectrogram.c
@@ -59,7 +59,6 @@ XRectangle sp_left, sp_right; /* spectrogram */
int die = 0;
struct data {
- int16_t *buffer;
double *left;
double *right;
int *left_shadow;
@@ -279,6 +278,7 @@ main(int argc, char **argv)
struct sio *sio;
struct fft *fft;
struct data data;
+ int16_t *buffer;
int ch, dflag = 1;
int delta;
@@ -352,9 +352,9 @@ main(int argc, char **argv)
fft = init_fft(delta);
while (!die) {
- data.buffer = read_sio(sio);
- dofft(fft, data.buffer, data.left, 0);
- dofft(fft, data.buffer, data.right, 1);
+ buffer = read_sio(sio);
+ dofft(fft, buffer, data.left, 0);
+ dofft(fft, buffer, data.right, 1);
draw(&data);
while (XPending(dsp)) {
@@ -388,7 +388,6 @@ main(int argc, char **argv)
free(data.right_shadow);
free(data.left);
free(data.right);
- free(data.buffer);
XCloseDisplay(dsp);