fix wrong write and read in not allocated memory

This commit is contained in:
dwarning 2017-08-22 11:53:20 +02:00
parent b8a9ca9df4
commit 2377d3a64f
2 changed files with 4 additions and 5 deletions

View File

@ -355,11 +355,10 @@ com_psd(wordlist *wl)
vec_new(f); vec_new(f);
freq = f->v_realdata; freq = f->v_realdata;
for (i = 0; i < fpts; i++)
#ifdef HAVE_LIBFFTW3 #ifdef HAVE_LIBFFTW3
for (i = 0; i <= fpts; i++)
freq[i] = i*1./span; freq[i] = i*1./span;
#else #else
for (i = 0; i <= fpts; i++)
freq[i] = i*1./span*length/N; freq[i] = i*1./span*length/N;
#endif #endif
@ -449,7 +448,7 @@ com_psd(wordlist *wl)
#endif #endif
printf("Total noise power up to Nyquist frequency %5.3e Hz:\n%e V^2 (or A^2), \nnoise voltage or current %e V (or A)\n", printf("Total noise power up to Nyquist frequency %5.3e Hz:\n%e V^2 (or A^2), \nnoise voltage or current %e V (or A)\n",
freq[fpts], noipower, sqrt(noipower)); freq[fpts-1], noipower, sqrt(noipower));
/* smoothing with rectangular window of width "smooth", /* smoothing with rectangular window of width "smooth",
plotting V/sqrt(Hz) or I/sqrt(Hz) */ plotting V/sqrt(Hz) or I/sqrt(Hz) */
@ -473,7 +472,7 @@ com_psd(wordlist *wl)
} }
for (j = fpts-hsmooth; j < fpts; j++) { for (j = fpts-hsmooth; j < fpts; j++) {
sum = 0.; sum = 0.;
for (jj = 0; jj < smooth; jj++) for (jj = 0; jj < hsmooth; jj++)
sum += fdvec[i][j-hsmooth+jj].cx_real; sum += fdvec[i][j-hsmooth+jj].cx_real;
sum /= (fpts - j + hsmooth - 1); sum /= (fpts - j + hsmooth - 1);
reald[j] = (sqrt(sum)/scaling); reald[j] = (sqrt(sum)/scaling);

View File

@ -37,7 +37,7 @@ f_alpha(int n_pts, int n_exp, double X[], double Q_d, double alpha)
ha = alpha/2.0; ha = alpha/2.0;
// Q_d = sqrt(Q_d); /* find the deviation of the noise */ // Q_d = sqrt(Q_d); /* find the deviation of the noise */
#ifdef HAVE_LIBFFTW3 #ifdef HAVE_LIBFFTW3
length = 2 * (n_pts/2 + 1); length = n_pts + 2;
#else #else
length = n_pts; length = n_pts;
#endif #endif