#656: Replaced assertions with a proper test.

v0.27.3
Andreas Huggel 16 years ago
parent 3c9c0eda35
commit f1db95c52f

@ -286,10 +286,7 @@ namespace Exiv2 {
uint32_t size,
ByteOrder /*byteOrder*/)
{
assert (pData != 0);
if (size < size_) return false;
if (!pData || size < size_) return false;
header_.alloc(size_);
std::memcpy(header_.pData_, pData, header_.size_);
if ( static_cast<uint32_t>(header_.size_) < size_
@ -320,10 +317,7 @@ namespace Exiv2 {
uint32_t size,
ByteOrder /*byteOrder*/)
{
assert (pData != 0);
if (size < size_) return false;
if (!pData || size < size_) return false;
header_.alloc(size_);
std::memcpy(header_.pData_, pData, header_.size_);
if ( static_cast<uint32_t>(header_.size_) < size_
@ -355,17 +349,12 @@ namespace Exiv2 {
uint32_t size,
ByteOrder /*byteOrder*/)
{
assert (pData != 0);
if (size < size_) return false;
if (!pData || size < size_) return false;
header_.alloc(size_);
std::memcpy(header_.pData_, pData, header_.size_);
// Read offset to the IFD relative to the start of the makernote
// from the header. Note that we ignore the byteOrder argument
start_ = getULong(header_.pData_ + 8, byteOrder_);
if ( static_cast<uint32_t>(header_.size_) < size_
|| 0 != memcmp(header_.pData_, signature_, 8)) {
return false;
@ -394,15 +383,12 @@ namespace Exiv2 {
uint32_t size,
ByteOrder /*byteOrder*/)
{
assert (pData != 0);
if (size < size_) return false;
if (!pData || size < size_) return false;
if (0 != memcmp(pData, signature_, 6)) return false;
buf_.alloc(size_);
std::memcpy(buf_.pData_, pData, buf_.size_);
start_ = size_;
return true;
} // Nikon2MnHeader::read
uint32_t Nikon2MnHeader::write(Blob& blob,
@ -430,9 +416,7 @@ namespace Exiv2 {
uint32_t size,
ByteOrder /*byteOrder*/)
{
assert (pData != 0);
if (size < size_) return false;
if (!pData || size < size_) return false;
if (0 != memcmp(pData, signature_, 6)) return false;
buf_.alloc(size_);
std::memcpy(buf_.pData_, pData, buf_.size_);
@ -441,7 +425,6 @@ namespace Exiv2 {
byteOrder_ = th.byteOrder();
start_ = 10 + th.offset();
return true;
} // Nikon3MnHeader::read
uint32_t Nikon3MnHeader::write(Blob& blob,
@ -475,15 +458,12 @@ namespace Exiv2 {
uint32_t size,
ByteOrder /*byteOrder*/)
{
assert (pData != 0);
if (size < size_) return false;
if (!pData || size < size_) return false;
if (0 != memcmp(pData, signature_, 9)) return false;
buf_.alloc(size_);
std::memcpy(buf_.pData_, pData, buf_.size_);
start_ = size_;
return true;
} // PanasonicMnHeader::read
uint32_t PanasonicMnHeader::write(Blob& blob,
@ -507,9 +487,7 @@ namespace Exiv2 {
uint32_t size,
ByteOrder /*byteOrder*/)
{
assert (pData != 0);
if (size < size_) return false;
if (!pData || size < size_) return false;
header_.alloc(size_);
std::memcpy(header_.pData_, pData, header_.size_);
if ( static_cast<uint32_t>(header_.size_) < size_
@ -543,16 +521,13 @@ namespace Exiv2 {
uint32_t size,
ByteOrder /*byteOrder*/)
{
assert (pData != 0);
if (size < size_) return false;
if (!pData || size < size_) return false;
if ( 0 != memcmp(pData, signature1_, 8)
&& 0 != memcmp(pData, signature2_, 8)) return false;
buf_.alloc(size_);
std::memcpy(buf_.pData_, pData, buf_.size_);
start_ = size_;
return true;
} // SigmaMnHeader::read
uint32_t SigmaMnHeader::write(Blob& blob,
@ -576,15 +551,12 @@ namespace Exiv2 {
uint32_t size,
ByteOrder /*byteOrder*/)
{
assert (pData != 0);
if (size < size_) return false;
if (!pData || size < size_) return false;
if (0 != memcmp(pData, signature_, size_)) return false;
buf_.alloc(size_);
std::memcpy(buf_.pData_, pData, buf_.size_);
start_ = size_;
return true;
} // SonyMnHeader::read
uint32_t SonyMnHeader::write(Blob& blob,

Loading…
Cancel
Save