Closed
Bug 33652
Opened 25 years ago
Closed 25 years ago
PR_AcceptRead should not align PRNetAddr on the size of void*
Categories
(NSPR :: NSPR, defect, P3)
Tracking
(Not tracked)
RESOLVED
FIXED
4.1
People
(Reporter: wtc, Assigned: wtc)
Details
Attachments
(1 file)
(deleted),
patch
|
Details | Diff | Splinter Review |
This bug is reported by nelsonb@netscape.com. (See
bug #31674.)
The current emulated implementation of PR_AcceptRead
aligns PRNetAddr on the size of void*. (See
_PR_EmulateAcceptRead in prsocket.c and pt_AcceptRead
in ptio.c.) The idea is that the alignment of void*
is the most stringent. However, this assumption is
incorrect. For example, on 32-bit IRIX (N32 ABI), the
size of void* is 4, but the 64-bit long long type must
be aligned on 8 byte boundaries.
Starting in NSPR 4.0, PRNetAddr contains PRUint64, so
it must be aligned according to PRUint64. To simplify
things we can just align PRNetAddr on 8-byte boundaries,
which may be more than necessary but is always correct.
Assignee | ||
Comment 1•25 years ago
|
||
Assignee | ||
Comment 2•25 years ago
|
||
Checked in the fix.
/cvsroot/mozilla/nsprpub/pr/src/io/prsocket.c, revision 3.29
/cvsroot/mozilla/nsprpub/pr/src/pthreads/ptio.c, revision 3.48
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Target Milestone: --- → 4.1
You need to log in
before you can comment on or make changes to this bug.
Description
•