diff --git a/PacketLib.xcodeproj/project.pbxproj b/PacketLib.xcodeproj/project.pbxproj index 7251c7264da6cfda595df8c239ab910bbdadbe9d..945afe972ad513a829fd2e775df1faed30a3c298 100644 --- a/PacketLib.xcodeproj/project.pbxproj +++ b/PacketLib.xcodeproj/project.pbxproj @@ -112,6 +112,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + DD3AB43119459AFB00498F60 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; DD6C793419255A5500406949 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ChangeLog; sourceTree = ""; }; DD6C793519255A5E00406949 /* Doxyfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Doxyfile; sourceTree = ""; }; DD6C793619255A6A00406949 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = ""; }; @@ -225,6 +226,7 @@ DDB3B85F18CA2F5C00918955 = { isa = PBXGroup; children = ( + DD3AB43119459AFB00498F60 /* Makefile */, DD6C793619255A6A00406949 /* README */, DD6C793519255A5E00406949 /* Doxyfile */, DD6C793419255A5500406949 /* ChangeLog */, diff --git a/PacketLib.xcodeproj/project.xcworkspace/xcuserdata/bulgarelli.xcuserdatad/UserInterfaceState.xcuserstate b/PacketLib.xcodeproj/project.xcworkspace/xcuserdata/bulgarelli.xcuserdatad/UserInterfaceState.xcuserstate index 4f72555a58e0e34791eba6cb7eae71acac84e691..0e85b5d212b1125aa5bea98a7ae4e4fb7c304d73 100644 Binary files a/PacketLib.xcodeproj/project.xcworkspace/xcuserdata/bulgarelli.xcuserdatad/UserInterfaceState.xcuserstate and b/PacketLib.xcodeproj/project.xcworkspace/xcuserdata/bulgarelli.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/include/ByteStream.h b/include/ByteStream.h index 325ce8dbf19d2610fb7bfbe41caad748fd09e887..afbc92fa4f97fddee65a3bb9205768840a4d978b 100644 --- a/include/ByteStream.h +++ b/include/ByteStream.h @@ -100,7 +100,7 @@ public: /// Get the value in the stream starting from position start and of dim dimension /// \param start Start position in the stream of byte - /// \param dim number of byte (1 oe 2) + /// \param dim number of byte (1 or 2) long getValue(dword start, word dim); /// Gets the dimension of the stream diff --git a/src/ByteStream.cpp b/src/ByteStream.cpp index c2b570d0bfe75bae85c8e298b132ed8700495dbe..93a992c8e24b2b68f7d4272079c5c74230bb9bd2 100644 --- a/src/ByteStream.cpp +++ b/src/ByteStream.cpp @@ -226,8 +226,12 @@ long PacketLib::ByteStream::getValue(dword start, word dim) { DEMORET0; byte b1, b2; + + if(start >= byteInTheStream) + throw new PacketException("PacketLib::ByteStream::getValue() start greater than the size of the ByteStream"); + /// only 1 or 2 bytes - if(dim <=0 || dim > 2) + if(dim == 0 || dim > 2) /// error return -1; if(bigendian) @@ -258,8 +262,10 @@ long PacketLib::ByteStream::getValue(dword start, word dim) } else { - b1 = (start-1)<0?0:stream[start-1]; - b2 = (start+2)>byteInTheStream?0:stream[start+2]; + //b1 = (start-1)<0?0:stream[start-1]; + //b2 = (start+2)>byteInTheStream?0:stream[start+2]; + b1=(start+1)>=byteInTheStream?0:stream[start+1]; + b2=stream[start]; } } } diff --git a/src/PacketNotRecognized.cpp b/src/PacketNotRecognized.cpp index fcc2ebc2d2a1bd090c1e02b74dc28afe500e80a6..d806b6414d4139acb4d9b30c5b0408361a9c9a95 100644 --- a/src/PacketNotRecognized.cpp +++ b/src/PacketNotRecognized.cpp @@ -23,6 +23,7 @@ using namespace PacketLib; bool PacketNotRecognized::createPacketType(char* fileName, bool prefix, word dimprefix) throw (PacketException*) { + packetID = 0; if(header->loadHeader(fileName)) { name = new char [22]; diff --git a/src/PacketStream.cpp b/src/PacketStream.cpp index 71369cbfe95ec7417ce7a2e127acbf4563042cf7..1d8072d9ccbb8f5d21887aa41e517cf326f82a67 100644 --- a/src/PacketStream.cpp +++ b/src/PacketStream.cpp @@ -34,9 +34,9 @@ PacketStream::PacketStream(const char* fileNameConfig) numberOfPacketType = 0; headerReference = 0; //TODO - packetType = new Packet* [100]; + packetType = new Packet* [255]; //TODO - memset(packetType, 0, sizeof(Packet*)*100); + memset(packetType, 0, sizeof(Packet*)*255); pathFileNameConfig = 0; dimHeader = 0; } @@ -49,9 +49,9 @@ PacketStream::PacketStream() numberOfPacketType = 0; headerReference = 0; //TODO - packetType = new Packet* [100]; + packetType = new Packet* [255]; //TODO - memset(packetType, 0, sizeof(Packet*)*100); + memset(packetType, 0, sizeof(Packet*)*255); pathFileNameConfig = 0; dimHeader = 0; }