diff --git a/source/RobotAPI/drivers/WeissHapticSensor/AbstractInterface.cpp b/source/RobotAPI/drivers/WeissHapticSensor/AbstractInterface.cpp index d8cfc06a6c68b2be86d3c51cfabc9a0bad3487e5..4d77eadebbc4131703097cae300cbb47a37204b5 100644 --- a/source/RobotAPI/drivers/WeissHapticSensor/AbstractInterface.cpp +++ b/source/RobotAPI/drivers/WeissHapticSensor/AbstractInterface.cpp @@ -281,6 +281,7 @@ int AbstractInterface::send(unsigned char id, unsigned int len, unsigned char *d res = write( buf, 6 + len + 2 ); if ( res < 6 + (int)len + 2 ) { + delete[] buf; close(); throw TransmissionException("Failed to submit message checksum"); //cerr << "Failed to submit message checksum" << endl; diff --git a/source/RobotAPI/drivers/WeissHapticSensor/SerialInterface.cpp b/source/RobotAPI/drivers/WeissHapticSensor/SerialInterface.cpp index ee19bf6cf6ace8182ecd9bff9c8710087c8013a2..26025d55cf93a1dae9b3cb3856733e6285761566 100644 --- a/source/RobotAPI/drivers/WeissHapticSensor/SerialInterface.cpp +++ b/source/RobotAPI/drivers/WeissHapticSensor/SerialInterface.cpp @@ -38,6 +38,7 @@ SerialInterface::SerialInterface(const char *device, unsigned int bitrate) { this->device = device; this->bitrate = bitrate; + this->fd = -1; } SerialInterface::~SerialInterface() { diff --git a/source/RobotAPI/drivers/WeissHapticSensor/WeissHapticSensor.cpp b/source/RobotAPI/drivers/WeissHapticSensor/WeissHapticSensor.cpp index 82beabb08d12a19d06a04cdb410787842345b45f..f71bf414b5f4cac1bd917e57440aa2d7ab70db64 100644 --- a/source/RobotAPI/drivers/WeissHapticSensor/WeissHapticSensor.cpp +++ b/source/RobotAPI/drivers/WeissHapticSensor/WeissHapticSensor.cpp @@ -6,7 +6,7 @@ using namespace armarx; WeissHapticSensor::WeissHapticSensor(std::string device) - : device(device) + : device(device), connected(false) { sensorTask = new RunningTask<WeissHapticSensor>(this, &WeissHapticSensor::frameAcquisitionTaskLoop); boost::smatch match;