Issue 730222: socketmodule.c: inet_pton() expects 4-byte packed_addr (original) (raw)

Created on 2003-04-30 15:00 by john_marshall, last changed 2022-04-10 16:08 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
sock.diff nnorwitz,2003-05-22 03:32
Messages (6)
msg15774 - (view) Author: John Marshall (john_marshall) Date: 2003-04-30 15:00
In the Modules/socketmodule.c file, the inet_pton function implicitly treats "long packed_addr" as a 4-byte object or expects that the required 4-bytes is at &packed_addr[0]-[3]. This is not true under SUPER-UX/SX. In order to get this working right, I changed the data type from "long" to "int". This now works properly. -----Modules/socketmodule.c: #3825 /* 042303; JM; this routine really expects a 4-byte packed_addr * not a long; long on SX is 8-bytes! */ #if SX int packed_addr; #else long packed_addr; #endif ... if (packed_addr == INADDR_NONE) return 0; memcpy(dst, &packed_addr, 4); -----
msg15775 - (view) Author: Neal Norwitz (nnorwitz) * (Python committer) Date: 2003-05-22 03:32
Logged In: YES user_id=33168 Attached is a patch which should fix the problem. There was one other place that needed to be changed. This change is more generic. Let me know if it works for you.
msg15776 - (view) Author: Facundo Batista (facundobatista) * (Python committer) Date: 2005-01-15 18:04
Logged In: YES user_id=752496 Please, could you verify if this problem persists in Python 2.3.4 or 2.4? If yes, in which version? Can you provide a test case? If the problem is solved, from which version? Note that if you fail to answer in one month, I'll close this bug as "Won't fix". Thank you! . Facundo
msg15777 - (view) Author: Facundo Batista (facundobatista) * (Python committer) Date: 2005-01-15 18:04
Logged In: YES user_id=752496 This patch is no applied, the bug persists?
msg15778 - (view) Author: John Marshall (john_marshall) Date: 2005-01-17 15:52
Logged In: YES user_id=768577 I no longer have access to SUPER-UX/SX systems, but the problem must still exist since nothing has changed in the source (I just checked that "long packed_addr" is still used -- SUPER-UX/SX systems support 8-byte longs). The more general patch supplied by nnorwitz should do the trick, though. Thanks, John
msg15779 - (view) Author: Facundo Batista (facundobatista) * (Python committer) Date: 2005-05-30 18:57
Logged In: YES user_id=752496 Deprecated. Reopen only if still happens in 2.3 or newer. . Facundo
History
Date User Action Args
2022-04-10 16:08:28 admin set github: 38406
2003-04-30 15:00:18 john_marshall create