From 722c7bf88dfc8dd964d25ffdb6b83015c19f7979 Mon Sep 17 00:00:00 2001
From: Adriaan Renting <renting@astron.nl>
Date: Sun, 10 Aug 2008 16:24:43 +0000
Subject: [PATCH] Bug #1113: Fixed some NULL pointer issues

---
 .../CS1_IDPPP/PipelineProcessControl.h        |  4 ++--
 .../CS1/CS1_pp_lib/src/BandpassCorrector.cc   |  6 ++---
 .../CS1_pp_lib/src/ComplexMedianFlagger.cc    |  6 ++---
 .../CS1_pp_lib/src/ComplexMedianFlagger2.cc   |  6 ++---
 Appl/CEP/CS1/CS1_pp_lib/src/DataBuffer.cc     |  9 +++----
 .../CS1/CS1_pp_lib/src/FrequencyFlagger.cc    |  6 ++---
 Appl/CEP/CS1/CS1_pp_lib/src/MADFlagger.cc     |  6 ++---
 Appl/CEP/CS1/CS1_pp_lib/src/MsFile.cc         |  3 ++-
 Appl/CEP/CS1/CS1_pp_lib/src/MsInfo.cc         | 24 +++++++++----------
 Appl/CEP/CS1/CS1_pp_lib/src/Pipeline.cc       |  9 ++++---
 .../CS1_pp_lib/src/PipelineProcessControl.cc  | 14 +++++------
 11 files changed, 47 insertions(+), 46 deletions(-)

diff --git a/Appl/CEP/CS1/CS1_pp_lib/include/CS1_IDPPP/PipelineProcessControl.h b/Appl/CEP/CS1/CS1_pp_lib/include/CS1_IDPPP/PipelineProcessControl.h
index 79a43b1364b..73507e28bea 100644
--- a/Appl/CEP/CS1/CS1_pp_lib/include/CS1_IDPPP/PipelineProcessControl.h
+++ b/Appl/CEP/CS1/CS1_pp_lib/include/CS1_IDPPP/PipelineProcessControl.h
@@ -54,13 +54,13 @@ namespace LOFAR
       int          itsFlagger;
       int          itsSquasher;
 
+      Pipeline*          myPipeline;
       MsFile*            myFile;
       MsInfo*            myInfo;
-      RunDetails*        myDetails;
       BandpassCorrector* myBandpass;
       Flagger*           myFlagger;
       DataSquasher*      mySquasher;
-      Pipeline*          myPipeline;
+      RunDetails*        myDetails;
     public:
       PipelineProcessControl(void);
 
diff --git a/Appl/CEP/CS1/CS1_pp_lib/src/BandpassCorrector.cc b/Appl/CEP/CS1/CS1_pp_lib/src/BandpassCorrector.cc
index aa571440659..83d3a8a93f1 100644
--- a/Appl/CEP/CS1/CS1_pp_lib/src/BandpassCorrector.cc
+++ b/Appl/CEP/CS1/CS1_pp_lib/src/BandpassCorrector.cc
@@ -368,10 +368,10 @@ using namespace casa;
 
 //===============>>>  BandpassCorrector::BandpassCorrector  <<<===============
 /* initialize some meta data and get the datastorage the right size. */
-BandpassCorrector::BandpassCorrector(void)
+BandpassCorrector::BandpassCorrector(void):
+  NumChannels(0),
+  NumPolarizations(0)
 {
-  NumChannels      = 0;
-  NumPolarizations = 0;
 }
 
 //===============>>>  BandpassCorrector::~BandpassCorrector  <<<===============
diff --git a/Appl/CEP/CS1/CS1_pp_lib/src/ComplexMedianFlagger.cc b/Appl/CEP/CS1/CS1_pp_lib/src/ComplexMedianFlagger.cc
index b5f5dc9b717..1e7b510efe1 100644
--- a/Appl/CEP/CS1/CS1_pp_lib/src/ComplexMedianFlagger.cc
+++ b/Appl/CEP/CS1/CS1_pp_lib/src/ComplexMedianFlagger.cc
@@ -34,10 +34,10 @@ using namespace casa;
 
 //===============>>>  ComplexMedianFlagger::ComplexMedianFlagger  <<<===============
 /* initialize some meta data and get the datastorage the right size. */
-ComplexMedianFlagger::ComplexMedianFlagger()
+ComplexMedianFlagger::ComplexMedianFlagger(void):
+  NumChannels(0),
+  NumPolarizations(0)
 {
-  NumChannels      = 0;
-  NumPolarizations = 0;
 }
 
 //===============>>>  ComplexMedianFlagger::~ComplexMedianFlagger  <<<===============
diff --git a/Appl/CEP/CS1/CS1_pp_lib/src/ComplexMedianFlagger2.cc b/Appl/CEP/CS1/CS1_pp_lib/src/ComplexMedianFlagger2.cc
index 4f9a5a86f53..3cf2aab67c7 100644
--- a/Appl/CEP/CS1/CS1_pp_lib/src/ComplexMedianFlagger2.cc
+++ b/Appl/CEP/CS1/CS1_pp_lib/src/ComplexMedianFlagger2.cc
@@ -33,10 +33,10 @@ using namespace casa;
 
 //===============>>>  ComplexMedianFlagger2::ComplexMedianFlagger2  <<<===============
 /* initialize some meta data and get the datastorage the right size. */
-ComplexMedianFlagger2::ComplexMedianFlagger2(void)
+ComplexMedianFlagger2::ComplexMedianFlagger2(void):
+  NumChannels(0),
+  NumPolarizations(0)
 {
-  NumChannels      = 0;
-  NumPolarizations = 0;
 }
 
 //===============>>>  ComplexMedianFlagger2::~ComplexMedianFlagger2  <<<===============
diff --git a/Appl/CEP/CS1/CS1_pp_lib/src/DataBuffer.cc b/Appl/CEP/CS1/CS1_pp_lib/src/DataBuffer.cc
index 017aa851698..3b54f7ddb81 100644
--- a/Appl/CEP/CS1/CS1_pp_lib/src/DataBuffer.cc
+++ b/Appl/CEP/CS1/CS1_pp_lib/src/DataBuffer.cc
@@ -41,12 +41,13 @@ enum CorrelationTypes {None=0,I=1,Q=2,U=3,V=4,RR=5,RL=6,LR=7,LL=8,XX=9,XY=10,YX=
 
 //===============>>>  DataBuffer::DataBuffer  <<<===============
 
-DataBuffer::DataBuffer(MsInfo* info, int TimeWindow, bool Columns): myInfo(0)
+DataBuffer::DataBuffer(MsInfo* info, int TimeWindow, bool Columns):
+  Position(-1),
+  NumSlots(0),
+  WindowSize(TimeWindow),
+  myInfo(info)
 {
-  myInfo     = info;
-  Position   = -1;
   NumSlots   = myInfo->NumPairs * myInfo->NumBands;
-  WindowSize = TimeWindow;
   Init(Columns);
 }
 
diff --git a/Appl/CEP/CS1/CS1_pp_lib/src/FrequencyFlagger.cc b/Appl/CEP/CS1/CS1_pp_lib/src/FrequencyFlagger.cc
index 551e9ece15b..046ba1dfda7 100644
--- a/Appl/CEP/CS1/CS1_pp_lib/src/FrequencyFlagger.cc
+++ b/Appl/CEP/CS1/CS1_pp_lib/src/FrequencyFlagger.cc
@@ -33,10 +33,10 @@ using namespace casa;
 
 //===============>>>  FrequencyFlagger::FrequencyFlagger  <<<===============
 /* initialize some meta data and get the datastorage the right size. */
-FrequencyFlagger::FrequencyFlagger()
+FrequencyFlagger::FrequencyFlagger():
+  NumChannels(0),
+  NumPolarizations(0)
 {
-  NumChannels      = 0;
-  NumPolarizations = 0;
 }
 
 //===============>>>  FrequencyFlagger::~FrequencyFlagger  <<<===============
diff --git a/Appl/CEP/CS1/CS1_pp_lib/src/MADFlagger.cc b/Appl/CEP/CS1/CS1_pp_lib/src/MADFlagger.cc
index e54ce13e5ff..fdd480952e8 100644
--- a/Appl/CEP/CS1/CS1_pp_lib/src/MADFlagger.cc
+++ b/Appl/CEP/CS1/CS1_pp_lib/src/MADFlagger.cc
@@ -33,10 +33,10 @@ using namespace casa;
 
 //===============>>>  MADFlagger::MADFlagger  <<<===============
 /* initialize some meta data and get the datastorage the right size. */
-MADFlagger::MADFlagger()
+MADFlagger::MADFlagger():
+  NumChannels(0),
+  NumPolarizations(0)
 {
-  NumChannels      = 0;
-  NumPolarizations = 0;
 }
 
 //===============>>>  MADFlagger::~MADFlagger  <<<===============
diff --git a/Appl/CEP/CS1/CS1_pp_lib/src/MsFile.cc b/Appl/CEP/CS1/CS1_pp_lib/src/MsFile.cc
index cd511c1ec6e..b9a92592f8d 100644
--- a/Appl/CEP/CS1/CS1_pp_lib/src/MsFile.cc
+++ b/Appl/CEP/CS1/CS1_pp_lib/src/MsFile.cc
@@ -37,7 +37,8 @@ using namespace casa;
 //===============>>>  MsFile::MsFile  <<<===============
 
 MsFile::MsFile(const std::string& msin, const std::string& msout):
-  InMS(0), OutMS(0)
+  InMS(NULL),
+  OutMS(NULL)
 {
   InName  = msin;
   OutName = msout;
diff --git a/Appl/CEP/CS1/CS1_pp_lib/src/MsInfo.cc b/Appl/CEP/CS1/CS1_pp_lib/src/MsInfo.cc
index 92338faf3d0..4dac45d8e47 100644
--- a/Appl/CEP/CS1/CS1_pp_lib/src/MsInfo.cc
+++ b/Appl/CEP/CS1/CS1_pp_lib/src/MsInfo.cc
@@ -31,19 +31,19 @@ using namespace casa;
 
 //===============>>>  Ms_Info::Ms_Info  <<<===============
 
-MsInfo::MsInfo(const std::string& msname)
+MsInfo::MsInfo(const std::string& msname):
+  NumSamples(0),
+  NumAntennae(0),
+  NumFields(0),
+  NumBands(0),
+  NumChannels(0),
+  NumPolarizations(0),
+  NumPairs(0),
+  NumTimeslots(0),
+  NoiseLevel(0.0),
+  MaxBaselineLength(0.0),
+  MsName(msname)
 {
-  MsName = msname;
-  MaxBaselineLength = 0.0;
-  NumSamples        = 0;
-  NumAntennae       = 0;
-  NumFields         = 0;
-  NumBands          = 0;
-  NumChannels       = 0;
-  NumPolarizations  = 0;
-  NumPairs          = 0;
-  NumTimeslots      = 0;
-  NoiseLevel        = 0.0;
 }
 
 //===============>>>  Ms_Info::~Ms_Info  <<<===============
diff --git a/Appl/CEP/CS1/CS1_pp_lib/src/Pipeline.cc b/Appl/CEP/CS1/CS1_pp_lib/src/Pipeline.cc
index 5f535ec1508..7a8d05b8979 100644
--- a/Appl/CEP/CS1/CS1_pp_lib/src/Pipeline.cc
+++ b/Appl/CEP/CS1/CS1_pp_lib/src/Pipeline.cc
@@ -43,10 +43,10 @@ Pipeline::Pipeline(MsInfo* info, MsFile* msfile, RunDetails* details,
   myBandpass(bandpass),
   myFlagger(flagger),
   mySquasher(squasher),
-  BandpassData(0),
-  FlaggerData(0),
-  SquasherData(0),
-  myStatistics(0)
+  BandpassData(NULL),
+  FlaggerData(NULL),
+  SquasherData(NULL),
+  myStatistics(NULL)
 {
   myStatistics = new FlaggerStatistics(*myInfo);
 }
@@ -79,7 +79,6 @@ void Pipeline::MirrorBuffer(DataBuffer& buffer, MsInfo& info, int step)
   { from_pos = buffer.Position;
     to_pos   = (buffer.WindowSize - buffer.Position) % buffer.WindowSize;
   }
-  cout << from_pos << " : " << to_pos << endl;
   for (int i = 0; i < info.NumBands * info.NumPairs; i++)
   { buffer.Data[i].xyPlane(to_pos) = buffer.Data[i].xyPlane(from_pos);
   }
diff --git a/Appl/CEP/CS1/CS1_pp_lib/src/PipelineProcessControl.cc b/Appl/CEP/CS1/CS1_pp_lib/src/PipelineProcessControl.cc
index e94aabed3d5..6229a33a2ac 100644
--- a/Appl/CEP/CS1/CS1_pp_lib/src/PipelineProcessControl.cc
+++ b/Appl/CEP/CS1/CS1_pp_lib/src/PipelineProcessControl.cc
@@ -46,13 +46,13 @@ namespace LOFAR
     //===============>>> PipelineProcessControl::PipelineProcessControl  <<<===============
     PipelineProcessControl::PipelineProcessControl()
     : ProcessControl(),
-      myPipeline(0),
-      myFile(0),
-      myInfo(0),
-      myBandpass(0),
-      myFlagger(0),
-      mySquasher(0),
-      myDetails(0)
+      myPipeline(NULL),
+      myFile(NULL),
+      myInfo(NULL),
+      myBandpass(NULL),
+      myFlagger(NULL),
+      mySquasher(NULL),
+      myDetails(NULL)
     {
     }
 
-- 
GitLab