@@ -297,12 +297,14 @@ @throw [OFNotOpenException exceptionWithObject: self]; if (_atEndOfStream) return 0; - if (sizeof(length) >= sizeof(uint64_t) && length > UINT64_MAX) +#if SIZE_MAX >= UINT64_MAX + if (length > UINT64_MAX) @throw [OFOutOfRangeException exception]; +#endif if ((uint64_t)length > _toRead) length = (size_t)_toRead; ret = [_stream readIntoBuffer: buffer @@ -376,11 +378,11 @@ size = [_entry size]; if (size % 512 != 0) [_stream readIntoBuffer: buffer - exactLength: 512 - (size % 512)]; + exactLength: (size_t)(512 - (size % 512))]; } } @end @implementation OFTarArchive_FileWriteStream