mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-23 09:03:22 -05:00
Measured from a payload process on a PS5 (firmware 12.70), where __inet_ntop/__inet_pton and the plain inet_ntop/inet_pton exports resolve to the same functions: - inet_ntop follows an AF_INET6 result with zero bytes up to size (sizes 4 to 65536 sampled) and never writes past size; AF_INET writes only the text and its NUL. - An unsupported family returns EAFNOSUPPORT first, even with null pointers. - A null source or text raises SIGSEGV during the call, before the size is checked; here it throws instead of returning EFAULT. - A null destination is reached only after the size check and the text parse: ENOSPC for a size that is too small, 0 for text that does not parse, and SIGSEGV (a throw here) otherwise. The test pins the measured inet_pton and inet_ntop rows, including all inputs the existing assertions use. The text-form debt entry is replaced by one that records what a payload process measured (the text forms, the order of the checks and the padding) and what is still assumed: the sizes that were not sampled, sizes above 65536, and a title process. inet_ntoa_r calls __inet_ntop, so a null inet_ntoa_r buffer with room for the text now throws, and a null buffer that is too small sets ENOSPC instead of EFAULT; the libSceLibcInternal debt entry says so. AI-assisted: yes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>