Bug 2539

Summary: dnsd not working on x86_64 systems
Product: Busybox Reporter: bonnart <sebastien.bonnart>
Component: NetworkingAssignee: unassigned
Status: RESOLVED FIXED    
Severity: normal CC: busybox-cvs
Priority: P5    
Version: 1.17.x   
Target Milestone: ---   
Hardware: All   
OS: All   
Host: Target:
Build:

Description bonnart 2010-09-08 16:55:28 UTC
The positive anwsers from dnsd are not readable when dsnd is running on 64bits systems.
This is due to line 391 of dnsd.c : "query_len += sizeof(unaligned_type_class);".
unaligned_type_class is a pointer and what we want here is the size of the object. This object's size is 32bits this is why the problem only appears on 64 bits systems.
The solution is to change the line for : "query_len += sizeof(*unaligned_type_class);"

Best regards
Comment 1 Denys Vlasenko 2010-10-28 22:39:20 UTC
Excellent! Fixed in git and added to post-1.17.3 fixes:

http://busybox.net/downloads/fixes-1.17.3/busybox-1.17.3-dnsd.patch