Transceiver52M: Dynamically allocate correlation vectors

Stack allocating the correlation output generates a call to the copy
constructor of an zero valued vector. We can avoid this extra copy
constructor with a pointer reference and dynamic allocation.

Signed-off-by: Thomas Tsou <tom@tsou.cc>
diff --git a/Transceiver52M/sigProcLib.cpp b/Transceiver52M/sigProcLib.cpp
index 12dcf00..d5f92b7 100644
--- a/Transceiver52M/sigProcLib.cpp
+++ b/Transceiver52M/sigProcLib.cpp
@@ -1401,7 +1401,7 @@
   int rc, start, target, head, tail, len;
   float _toa;
   complex _amp;
-  signalVector corr;
+  signalVector *corr;
   CorrelationSequence *sync;
 
   if ((sps != 1) && (sps != 4))
@@ -1414,10 +1414,12 @@
   start = (target - head) * sps - 1;
   len = (head + tail) * sps;
   sync = gRACHSequence;
-  corr = signalVector(len);
+  corr = new signalVector(len);
 
-  rc = detectBurst(rxBurst, corr, sync,
+  rc = detectBurst(rxBurst, *corr, sync,
                    thresh, sps, &_amp, &_toa, start, len);
+  delete corr;
+
   if (rc < 0) {
     return -1;
   } else if (!rc) {
@@ -1452,7 +1454,7 @@
   int rc, start, target, head, tail, len;
   complex _amp;
   float _toa;
-  signalVector corr;
+  signalVector *corr;
   CorrelationSequence *sync;
 
   if ((tsc < 0) || (tsc > 7) || ((sps != 1) && (sps != 4)))
@@ -1465,10 +1467,12 @@
   start = (target - head) * sps - 1;
   len = (head + tail) * sps;
   sync = gMidambles[tsc];
-  corr = signalVector(len);
+  corr = new signalVector(len);
 
-  rc = detectBurst(rxBurst, corr, sync,
+  rc = detectBurst(rxBurst, *corr, sync,
                    thresh, sps, &_amp, &_toa, start, len);
+  delete corr;
+
   if (rc < 0) {
     return -1;
   } else if (!rc) {