Add a New Comment Rich Markup
packet_get_addr() is meant to retrieve the ip address of an ethernet device by issueing the appropriate ioctl() (SIOCGIFADDR). The result of the request is stored in ifr (of type struct ifreq) by ioctl(). Before the result is copied to the variable the pointer addr points to, packet_get_addr() checks if the address family of the retrieved address is correct. Now, the error is that ifr.if_broadaddr is accessed for this test rather than ifr.if_addr. This way, the test will always fail, since if_broadaddr isn't set by the ioctl SIOCGIFADDR. This problem does not exist in tap_get_addr(), which is the equivalent of this function for tap devices.
(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)
Attach Files: Comment:
No files currently attached
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Only logged-in users can vote.
Please enter the title of George Orwell's famous dystopian book (it's a date):
Copyright © 2024 Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. The Levitating, Meditating, Flute-playing Gnu logo is a GNU GPL'ed image provided by the Nevrax Design Team. Page source code
Powered by Savane 3.13-02a9.Corresponding source code