Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#4529 closed Bug (duplicate)

µTP completely broken on strict alignment archs

Reported by: naddy Owned by:
Priority: Normal Milestone: None Set
Component: Transmission Version: 2.33
Severity: Normal Keywords:
Cc:

Description

FYI, the uTP code is completely broken on strict alignment architectures (such as sparc64). One core problem is the protocol version 0 header, PacketFormat, which misaligns the two 16-bit fields at the end. Throughout utp.cpp these are read from/assigned to with p->seq_nr, p->ack_nr although they would need to be accessed with memcpy().

When I tried 2.33 with uTP enabled on sparc64, it blew up even earlier, because some instance of PackedSockAddr ended up misaligned—probably due to being "packed" and I don't even see a reason for packing it.

Change History (3)

comment:1 Changed 10 years ago by jordan

  • Resolution set to duplicate
  • Status changed from new to closed

Hi Naddy,

I think this is a duplicate of ticket #4260 which is marked as fixed in 2.40, so I'm closing this ticket as a duplicate.

comment:2 Changed 10 years ago by naddy

No, it is not. #4260 was about the details of defining the packed attribute for different compilers.

comment:3 Changed 10 years ago by jordan

Thanks for the clarification.

Please report this issue upstream to the libutp bug tracker.

Note: See TracTickets for help on using tickets.