Fix for ticket:375, gr_clock_recovery_mm_ff, from Mike Ossmann. Thanks!
authoreb <eb@221aa14e-8319-0410-a670-987f0aec2ac5>
Thu, 19 Mar 2009 17:27:47 +0000 (17:27 +0000)
committereb <eb@221aa14e-8319-0410-a670-987f0aec2ac5>
Thu, 19 Mar 2009 17:27:47 +0000 (17:27 +0000)
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@10646 221aa14e-8319-0410-a670-987f0aec2ac5

gnuradio-core/src/lib/general/gr_clock_recovery_mm_ff.cc

index fdf82667ae572b59772829c7374db8292621723a..2e9eea8e665f6a2aa94db12b88f327d75b9e793a 100644 (file)
@@ -108,9 +108,10 @@ gr_clock_recovery_mm_ff::general_work (int noutput_items,
 
   int  ii = 0;                         // input index
   int          oo = 0;                         // output index
+  int   ni = ninput_items[0] - d_interp->ntaps(); // don't use more input than this
   float mm_val;
 
-  while (oo < noutput_items){
+  while (oo < noutput_items && ii < ni ){
 
     // produce output sample
     out[oo] = d_interp->interpolate (&in[ii], d_mu);
@@ -132,5 +133,5 @@ gr_clock_recovery_mm_ff::general_work (int noutput_items,
 
   consume_each (ii);
 
-  return noutput_items;
+  return oo;
 }