[tor-bugs] #15436 [Tor]: Unaligned access in SipHash24 code
Tor Bug Tracker & Wiki
blackhole at torproject.org
Sun Mar 22 22:36:18 UTC 2015
#15436: Unaligned access in SipHash24 code
-------------------------+--------------------------------
Reporter: pstumpf | Owner:
Type: defect | Status: needs_review
Priority: normal | Milestone: Tor: 0.2.6.x-final
Component: Tor | Version: Tor: 0.2.5.11
Resolution: | Keywords:
Actual Points: | Parent ID:
Points: |
-------------------------+--------------------------------
Changes (by yawning):
* status: new => needs_review
Comment:
Replying to [ticket:15436 pstumpf]:
> As you can easily see, node_get_mutable_by_id passes an unaligned
pointer to siphash24, which memcpy then tries to copy from. This is a
(struct node_t)->identity, so maybe that struct should have alignment
padding?
No, that's not the problem. The problem is `const uint64_t *in =
(uint64_t*)src;`. The compiler is allowed to (and in your case) does
assume that in is aligned properly.
Please let me know if this branch fixes this issue:
https://github.com/Yawning/tor/compare/bug15436
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/15436#comment:2>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list