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);