X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Floader%2FObjectFile.cpp;h=76cc98266c1214b31395a419db68700cea97285a;hb=refs%2Fheads%2Flinker;hp=7207eb0ed92eb66e52d252f605cb5e75c97d63be;hpb=1970312e983541d32d4ff73c81b8d90156a7bb99;p=l2e.git diff --git a/src/loader/ObjectFile.cpp b/src/loader/ObjectFile.cpp index 7207eb0..76cc982 100644 --- a/src/loader/ObjectFile.cpp +++ b/src/loader/ObjectFile.cpp @@ -13,10 +13,14 @@ ObjectFileHeader::ObjectFileHeader() , exportsEnd(0) , externalsBegin(0) , externalsEnd(0) +, imagesBegin(0) +, imagesEnd(0) , objectsBegin(0) , objectsEnd(0) , arraysBegin(0) -, arraysEnd(0) { +, arraysEnd(0) +, scriptsBegin(0) +, scriptsEnd(0) { ident[0] = 'L'; ident[1] = '2'; ident[2] = 'E'; @@ -64,7 +68,7 @@ bool ObjectFileHeader::CheckSection( unsigned int end, unsigned int fsize) const { return begin >= sizeof(ObjectFileHeader) - && begin < fsize + && (begin < fsize || begin == end) && end >= begin && end <= fsize; } @@ -119,6 +123,16 @@ Array *ObjectFileHeader::ArraysEnd() { return reinterpret_cast(data + arraysEnd); } +Script *ObjectFileHeader::ScriptsBegin() { + char *data = reinterpret_cast(this); + return reinterpret_cast