Closed Bug 108950 Opened 24 years ago Closed 24 years ago

Unaligned memory access in nsCompressedCharMap::SetChars

Categories

(Core :: Layout, defect)

DEC
OSF/1
defect
Not set
critical

Tracking

()

RESOLVED DUPLICATE of bug 102113

People

(Reporter: bobbell, Assigned: bstell)

Details

nsCompressedCharMap::SetChars accesses unaligned memory. With the default settings on Tru64 UNIX, Tru64 UNIX correctly detects this, corrects it, and prints a warning message. However, Tru64 UNIX can also be set to crash with this behavior, and it is technically incorrect. The problem was discovered using a recent nightly build. Lines 298 and 299 of nsCompressedCharMap.cpp are at fault. They read: NS_ASSERTION(page[i]==0, "this page should be unused"); page[i] = aPage[i]; page (from my crash dump) is a pointer on a four byte boundary. This is because is an offset into mCCMap, which is an array of 16-bit data types. However, page is a point to ALU_TYPE, which on Tru64 UNIX is a 64-bit data type. Thus, page is not properly aligned.
This is a dup of bug 102133 (although the info is new so I will copy it over to bug 102133). Brendan indicates he knows a fix. *** This bug has been marked as a duplicate of 102133 ***
Status: UNCONFIRMED → RESOLVED
Closed: 24 years ago
Resolution: --- → DUPLICATE
You've dupped the wrong bug...
Status: RESOLVED → UNCONFIRMED
Resolution: DUPLICATE → ---
This bug should have been marked as a duplicate of bug 102113, not bug 102133. I am correcting that. The information was copied over to the correct bug, though. *** This bug has been marked as a duplicate of 102113 ***
Status: UNCONFIRMED → RESOLVED
Closed: 24 years ago24 years ago
Resolution: --- → DUPLICATE
thanks
You need to log in before you can comment on or make changes to this bug.