Bug 917593 - Don't assert for zero-length strings. r=Waldo

This commit is contained in:
Bobby Holley 2013-09-24 08:03:22 -07:00
parent 2313b873cb
commit aa9e479063
2 changed files with 7 additions and 2 deletions

View File

@ -238,9 +238,9 @@ class EndianUtils
{
DebugOnly<const uint8_t*> byteDestPtr = static_cast<const uint8_t*>(dest);
DebugOnly<const uint8_t*> byteSrcPtr = static_cast<const uint8_t*>(src);
MOZ_ASSERT((byteDestPtr < byteSrcPtr &&
MOZ_ASSERT((byteDestPtr <= byteSrcPtr &&
byteDestPtr + count <= byteSrcPtr) ||
(byteSrcPtr < byteDestPtr &&
(byteSrcPtr <= byteDestPtr &&
byteSrcPtr + count <= byteDestPtr));
}

View File

@ -396,5 +396,10 @@ main()
TestBulkInPlaceNoSwap(uint64_values);
TestBulkInPlaceNoSwap(int64_values);
// Make sure we don't incorrectly cry overlap for zero-length buffers.
uint64_t scratch = 0xdeadbeef;
NativeEndian::copyAndSwapFromLittleEndian(&scratch, &scratch, 0);
MOZ_ASSERT(scratch == 0xdeadbeef);
return 0;
}