From 0c38bc4cdbc4282e02daab41cbfe6634153bcf42 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Sat, 24 Jul 1999 18:43:03 +0000 Subject: [PATCH] (krb5_sock_to_principal): simplify by using `struct sockaddr_storage' git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6528 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/sock_principal.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/lib/krb5/sock_principal.c b/lib/krb5/sock_principal.c index 944738946..a5e213721 100644 --- a/lib/krb5/sock_principal.c +++ b/lib/krb5/sock_principal.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 1998 Kungliga Tekniska Högskolan + * Copyright (c) 1997, 1998, 1999 Kungliga Tekniska Högskolan * (Royal Institute of Technology, Stockholm, Sweden). * All rights reserved. * @@ -49,25 +49,18 @@ krb5_sock_to_principal (krb5_context context, { krb5_error_code ret; krb5_address address; - int len = krb5_max_sockaddr_size (); - char *buf = malloc(len); - struct sockaddr *sa; + struct sockaddr_storage __ss; + struct sockaddr *sa = (struct sockaddr *)&__ss; + int len = sizeof(__ss); struct hostent *hostent; int family; char hname[256]; - if (buf == NULL) - return ENOMEM; - sa = (struct sockaddr *)buf; - - if (getsockname (sock, sa, &len) < 0) { - free (buf); + if (getsockname (sock, sa, &len) < 0) return errno; - } family = sa->sa_family; ret = krb5_sockaddr2address (sa, &address); - free (buf); if (ret) return ret;