krb5 commit: Fix getsockname() call in Windows localaddr
[email protected] Tue, 8 Apr 2025 16:05:44 -0400 (EDT)
| Newsgroups | gmane.comp.encryption.kerberos.cvs |
|---|---|
| Message-ID | <[email protected]> |
https://github.com/krb5/krb5/commit/e3335375d7ac4e240a8a26a238a3d2a964c9baab commit e3335375d7ac4e240a8a26a238a3d2a964c9baab Author: Rull Deef <[email protected]> Date: Thu Mar 27 10:54:46 2025 +0300 Fix getsockname() call in Windows localaddr When querying local IP addresses, local_addr_fallback_kludge() is called on Windows if gethostname() or gethostbyname() fails. This function's call to getsockname() erroneously passes a small integer as the third argument instead of a pointer, likely causing a process crash. This bug has been present since 1.1, but is rarely encountered due to the rarity of requests for addressful tickets. Fix it. [[email protected]: rewrote commit message] ticket: 9171 (new) src/lib/krb5/os/localaddr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/krb5/os/localaddr.c b/src/lib/krb5/os/localaddr.c index 4c7343498..73dec6af2 100644 --- a/src/lib/krb5/os/localaddr.c +++ b/src/lib/krb5/os/localaddr.c @@ -1437,7 +1437,7 @@ static struct hostent *local_addr_fallback_kludge(void) if (err == SOCKET_ERROR) return NULL; - err = getsockname(sock, (LPSOCKADDR) &addr, (int *) size); + err = getsockname(sock, (LPSOCKADDR) &addr, &size); if (err == SOCKET_ERROR) return NULL;