vendredi 5 juillet 2019

Valgrind : Invalid read of size 8

Valgrind error

Ubuntu

void ReadFromPacketCapture::ReadPayload(const char *filename)
  {
  pcpp::IFileReaderDevice* reader = pcpp::IFileReaderDevice::getReader(filename);
  if (reader == NULL)
    {
      cout<<"Cannot read the file \n"<<endl;
       exit(1);
    }
  if (!reader->open())
    {
         cout<<"Cannot open the file for reading\n"<<endl;
       exit(1);
    }

  pcpp::RawPacketVector PacketVector ;
  if (!reader->getNextPackets(PacketVector))
    {
      cout<<"Couldn't read packets in the file \n"<<endl;
      exit(1);
    }
  reader->close();
  cout<<"Number of Packet in this File is "<<PacketVector.size()<<endl;


for (pcpp::RawPacketVector::VectorIterator iter = PacketVector.begin(); iter != PacketVector.end(); iter++)
{
  pcpp::Packet parsedPacket(*iter);
  pcpp::PayloadLayer* payloadLayer = parsedPacket.getLayerOfType<pcpp::PayloadLayer>();
  if (payloadLayer == NULL)
  {
    cout<<"Something went wrong, couldn't find the Payload\n";
     exit(1);
  }
  string data(payloadLayer->getPayload(),payloadLayer->getPayload()+payloadLayer->getPayloadLen());
  this->data_packet.push_back(data);
  }
}

at 0x4C326D6: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==11152== by 0x55BDA54: memcpy (string3.h:53)

Aucun commentaire:

Enregistrer un commentaire