@@ -603,7 +603,7 @@ void* vtkPlusOpenIGTLinkServer::DataReceiverThread(vtkMultiThreader::ThreadInfo*
603603 clientSocket->Receive (clientInfoMsg->GetBufferBodyPointer (), clientInfoMsg->GetBufferBodySize ());
604604
605605 int c = clientInfoMsg->Unpack (self->IgtlMessageCrcCheckEnabled );
606- if (c & igtl::MessageHeader::UNPACK_BODY )
606+ if (c & igtl::MessageHeader::UNPACK_BODY || clientInfoMsg-> GetBufferBodySize () == 0 )
607607 {
608608 // Message received from client, need to lock to modify client info
609609 PlusLockGuard<vtkPlusRecursiveCriticalSection> igtlClientsMutexGuardedLock (self->IgtlClientsMutex );
@@ -631,7 +631,7 @@ void* vtkPlusOpenIGTLinkServer::DataReceiverThread(vtkMultiThreader::ThreadInfo*
631631
632632 // We are receiving old style commands, handle it
633633 int c = stringMsg->Unpack (self->IgtlMessageCrcCheckEnabled );
634- if (c & igtl::MessageHeader::UNPACK_BODY )
634+ if (c & igtl::MessageHeader::UNPACK_BODY || stringMsg-> GetBufferBodySize () == 0 )
635635 {
636636 std::string deviceName (headerMsg->GetDeviceName ());
637637 if (deviceName.empty ())
@@ -690,7 +690,7 @@ void* vtkPlusOpenIGTLinkServer::DataReceiverThread(vtkMultiThreader::ThreadInfo*
690690 clientSocket->Receive (commandMsg->GetBufferBodyPointer (), commandMsg->GetBufferBodySize ());
691691
692692 int c = commandMsg->Unpack (self->IgtlMessageCrcCheckEnabled );
693- if (c & igtl::MessageHeader::UNPACK_BODY )
693+ if (c & igtl::MessageHeader::UNPACK_BODY || commandMsg-> GetBufferBodySize () == 0 )
694694 {
695695 std::string deviceName (headerMsg->GetDeviceName ());
696696
@@ -731,7 +731,7 @@ void* vtkPlusOpenIGTLinkServer::DataReceiverThread(vtkMultiThreader::ThreadInfo*
731731 clientSocket->Receive (startTracking->GetBufferBodyPointer (), startTracking->GetBufferBodySize ());
732732
733733 int c = startTracking->Unpack (self->IgtlMessageCrcCheckEnabled );
734- if (c & igtl::MessageHeader::UNPACK_BODY )
734+ if (c & igtl::MessageHeader::UNPACK_BODY || startTracking-> GetBufferBodySize () == 0 )
735735 {
736736 client->ClientInfo .SetTDATAResolution (startTracking->GetResolution ());
737737 client->ClientInfo .SetTDATARequested (true );
@@ -772,7 +772,7 @@ void* vtkPlusOpenIGTLinkServer::DataReceiverThread(vtkMultiThreader::ThreadInfo*
772772 clientSocket->Receive (polyDataMessage->GetBufferBodyPointer (), polyDataMessage->GetBufferBodySize ());
773773
774774 int c = polyDataMessage->Unpack (self->IgtlMessageCrcCheckEnabled );
775- if (c & igtl::MessageHeader::UNPACK_BODY )
775+ if (c & igtl::MessageHeader::UNPACK_BODY || polyDataMessage-> GetBufferBodySize () == 0 )
776776 {
777777 std::string fileName;
778778 // Check metadata for requisite parameters, if absent, check deviceName
@@ -850,7 +850,7 @@ void* vtkPlusOpenIGTLinkServer::DataReceiverThread(vtkMultiThreader::ThreadInfo*
850850 clientSocket->Receive (getImageMetaMsg->GetBufferBodyPointer (), getImageMetaMsg->GetBufferBodySize ());
851851
852852 int c = getImageMetaMsg->Unpack (self->IgtlMessageCrcCheckEnabled );
853- if (c & igtl::MessageHeader::UNPACK_BODY )
853+ if (c & igtl::MessageHeader::UNPACK_BODY || getImageMetaMsg-> GetBufferBodySize () == 0 )
854854 {
855855 // Image meta message
856856 std::string deviceName (" " );
@@ -875,7 +875,7 @@ void* vtkPlusOpenIGTLinkServer::DataReceiverThread(vtkMultiThreader::ThreadInfo*
875875 clientSocket->Receive (getImageMsg->GetBufferBodyPointer (), getImageMsg->GetBufferBodySize ());
876876
877877 int c = getImageMsg->Unpack (self->IgtlMessageCrcCheckEnabled );
878- if (c & igtl::MessageHeader::UNPACK_BODY )
878+ if (c & igtl::MessageHeader::UNPACK_BODY || getImageMsg-> GetBufferBodySize () == 0 )
879879 {
880880 std::string deviceName (" " );
881881 if (headerMsg->GetDeviceName () != NULL )
@@ -905,7 +905,7 @@ void* vtkPlusOpenIGTLinkServer::DataReceiverThread(vtkMultiThreader::ThreadInfo*
905905 clientSocket->Receive (getPointMsg->GetBufferBodyPointer (), getPointMsg->GetBufferBodySize ());
906906
907907 int c = getPointMsg->Unpack (self->IgtlMessageCrcCheckEnabled );
908- if (c & igtl::MessageHeader::UNPACK_BODY )
908+ if (c & igtl::MessageHeader::UNPACK_BODY || getPointMsg-> GetBufferBodySize () == 0 )
909909 {
910910 std::string fileName;
911911 if (!getPointMsg->GetMetaDataElement (" Filename" , fileName))
0 commit comments