diff --git a/RTCP/Interface/include/Interface/CN_Configuration.h b/RTCP/Interface/include/Interface/CN_Configuration.h index 7c03de081229cf0dc85542848c385f16ea7b1ce6..0d642e287664197f84916644747ef1cd91a9d1d0 100644 --- a/RTCP/Interface/include/Interface/CN_Configuration.h +++ b/RTCP/Interface/include/Interface/CN_Configuration.h @@ -29,6 +29,7 @@ #include <Interface/PencilCoordinates.h> #include <Interface/Parset.h> +#include <cstring> #include <vector> #include <string> @@ -38,7 +39,7 @@ namespace RTCP { class CN_Configuration { public: - CN_Configuration() {} + CN_Configuration(); #if !defined HAVE_BGP_CN CN_Configuration(const Parset &parset); diff --git a/RTCP/Interface/include/Interface/SubbandMetaData.h b/RTCP/Interface/include/Interface/SubbandMetaData.h index 6db7266d7eba5300f7916ed42ddb10a9ba34ebda..ded982d45c90cc3734513937df8b3421b485a2a4 100644 --- a/RTCP/Interface/include/Interface/SubbandMetaData.h +++ b/RTCP/Interface/include/Interface/SubbandMetaData.h @@ -30,6 +30,7 @@ #include <Common/LofarLogger.h> #include <cassert> +#include <cstring> namespace LOFAR { @@ -105,6 +106,9 @@ inline SubbandMetaData::SubbandMetaData(unsigned nrSubbands, unsigned nrBeams, s itsMarshallData(static_cast<char*>(allocator.allocate(itsMarshallDataSize, alignment))), itsAllocator(allocator) { +#if defined HAVE_VALGRIND + memset(itsMarshallData, 0, itsMarshallDataSize); +#endif } inline SubbandMetaData::~SubbandMetaData() diff --git a/RTCP/Interface/src/CN_Configuration.cc b/RTCP/Interface/src/CN_Configuration.cc index 46773bea40b1fe5a732b41f68900741fa1df2b23..bdcc64292fbff6d5541de10b68ee9d43a2117551 100644 --- a/RTCP/Interface/src/CN_Configuration.cc +++ b/RTCP/Interface/src/CN_Configuration.cc @@ -23,14 +23,28 @@ #include <Interface/CN_Configuration.h> #include <cassert> +#include <cstring> namespace LOFAR { namespace RTCP { + +CN_Configuration::CN_Configuration() +{ +#if defined HAVE_VALGRIND + memset(&itsMarshalledData, 0, sizeof itsMarshalledData); +#endif +} + + #if ! defined HAVE_BGP_CN CN_Configuration::CN_Configuration(const Parset &parset) { +#if defined HAVE_VALGRIND + memset(&itsMarshalledData, 0, sizeof itsMarshalledData); +#endif + nrStations() = parset.nrStations(); nrBitsPerSample() = parset.nrBitsPerSample(); nrSubbands() = parset.nrSubbands(); diff --git a/RTCP/Interface/src/CN_Mode.cc b/RTCP/Interface/src/CN_Mode.cc index 0c35ec8a86491cdac4541c77008d4f0a017d7ff3..9e200e15c7ab4f44dfc535181feba8fc4caf3842 100644 --- a/RTCP/Interface/src/CN_Mode.cc +++ b/RTCP/Interface/src/CN_Mode.cc @@ -2,6 +2,9 @@ #include <Interface/CN_Mode.h> +#include <cstring> + + namespace LOFAR { namespace RTCP { @@ -23,6 +26,10 @@ unsigned CN_Mode::nrModes() CN_Mode::CN_Mode() { +#if defined HAVE_VALGRIND + memset(&itsMarshalledData, 0, sizeof itsMarshalledData); +#endif + itsMarshalledData.mode = INVALID; } @@ -33,6 +40,10 @@ CN_Mode::CN_Mode(const Parset &ps) { string name = ps.getModeName(); +#if defined HAVE_VALGRIND + memset(&itsMarshalledData, 0, sizeof itsMarshalledData); +#endif + itsMarshalledData.mode = INVALID; for (unsigned i = 0; i < nrModes(); i ++) {