Mercurial > hg > libxtract
comparison src/init.c @ 202:5176462e2797
Fix potential memory leak
author | Jamie Bullock <jamie@jamiebullock.com> |
---|---|
date | Fri, 07 Mar 2014 21:42:46 +0000 |
parents | f94410db4014 |
children | f262144347e7 |
comparison
equal
deleted
inserted
replaced
201:ae2225b96ae1 | 202:5176462e2797 |
---|---|
255 mel_freq_min = 1127 * log(1 + freq_min / 700); | 255 mel_freq_min = 1127 * log(1 + freq_min / 700); |
256 freq_bw_mel = (mel_freq_max - mel_freq_min) / freq_bands; | 256 freq_bw_mel = (mel_freq_max - mel_freq_min) / freq_bands; |
257 | 257 |
258 mel_peak = (double *)malloc((freq_bands + 2) * sizeof(double)); | 258 mel_peak = (double *)malloc((freq_bands + 2) * sizeof(double)); |
259 /* +2 for zeros at start and end */ | 259 /* +2 for zeros at start and end */ |
260 | |
261 if (mel_peak == NULL) | |
262 { | |
263 perror("error"); | |
264 return XTRACT_MALLOC_FAILED; | |
265 } | |
266 | |
260 lin_peak = (double *)malloc((freq_bands + 2) * sizeof(double)); | 267 lin_peak = (double *)malloc((freq_bands + 2) * sizeof(double)); |
268 | |
269 if (lin_peak == NULL) | |
270 { | |
271 perror("error"); | |
272 return XTRACT_MALLOC_FAILED; | |
273 } | |
274 | |
261 fft_peak = (int *)malloc((freq_bands + 2) * sizeof(int)); | 275 fft_peak = (int *)malloc((freq_bands + 2) * sizeof(int)); |
276 | |
277 if (fft_peak == NULL) | |
278 { | |
279 perror("error"); | |
280 return XTRACT_MALLOC_FAILED; | |
281 } | |
282 | |
262 height_norm = (double *)malloc(freq_bands * sizeof(double)); | 283 height_norm = (double *)malloc(freq_bands * sizeof(double)); |
263 | 284 |
264 if(mel_peak == NULL || height_norm == NULL || | 285 if (height_norm == NULL) |
265 lin_peak == NULL || fft_peak == NULL) | 286 { |
287 perror("error"); | |
266 return XTRACT_MALLOC_FAILED; | 288 return XTRACT_MALLOC_FAILED; |
289 } | |
267 | 290 |
268 M = N >> 1; | 291 M = N >> 1; |
269 | 292 |
270 mel_peak[0] = mel_freq_min; | 293 mel_peak[0] = mel_freq_min; |
271 lin_peak[0] = freq_min; // === 700 * (exp(mel_peak[0] / 1127) - 1); | 294 lin_peak[0] = freq_min; // === 700 * (exp(mel_peak[0] / 1127) - 1); |