From 04e8a9438ff8a2ff8d17f756e5a07d730c7eb96b Mon Sep 17 00:00:00 2001 From: Johan Danielsson Date: Thu, 15 Aug 2002 08:23:07 +0000 Subject: [PATCH] check return value of krb5_sockaddr2address git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@11102 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/kadm5/ipropd_master.c | 13 ++++++++----- lib/krb5/addr_families.c | 6 ++++-- lib/krb5/auth_context.c | 6 ++++-- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/lib/kadm5/ipropd_master.c b/lib/kadm5/ipropd_master.c index c77f026a0..fb84e20d4 100644 --- a/lib/kadm5/ipropd_master.c +++ b/lib/kadm5/ipropd_master.c @@ -439,12 +439,15 @@ write_stats(krb5_context context, slave *slaves, u_int32_t current_version) while (slaves) { krb5_address addr; rtbl_add_column_entry(tbl, SLAVE_NAME, slaves->name); - krb5_sockaddr2address (context, (struct sockaddr*)&slaves->addr, &addr); - krb5_print_address(&addr, str, sizeof(str), NULL); - krb5_free_address(context, &addr); + ret = krb5_sockaddr2address (context, + (struct sockaddr*)&slaves->addr, &addr); + if(ret == 0) { + krb5_print_address(&addr, str, sizeof(str), NULL); + krb5_free_address(context, &addr); + rtbl_add_column_entry(tbl, SLAVE_ADDRESS, str); + } else + rtbl_add_column_entry(tbl, SLAVE_ADDRESS, ""); - rtbl_add_column_entry(tbl, SLAVE_ADDRESS, str); - snprintf(str, sizeof(str), "%u", (unsigned)slaves->version); rtbl_add_column_entry(tbl, SLAVE_VERSION, str); diff --git a/lib/krb5/addr_families.c b/lib/krb5/addr_families.c index 7798d88a3..2f2dbf867 100644 --- a/lib/krb5/addr_families.c +++ b/lib/krb5/addr_families.c @@ -757,8 +757,10 @@ krb5_parse_address(krb5_context context, ALLOC_SEQ(addresses, n); - for (a = ai, i = 0; a != NULL; a = a->ai_next, ++i) { - krb5_sockaddr2address (context, ai->ai_addr, &addresses->val[i]); + for (a = ai, i = 0; a != NULL; a = a->ai_next) { + if(krb5_sockaddr2address (context, ai->ai_addr, + &addresses->val[i]) == 0) + i++; } freeaddrinfo (ai); return 0; diff --git a/lib/krb5/auth_context.c b/lib/krb5/auth_context.c index 8ca353626..baea4a5a9 100644 --- a/lib/krb5/auth_context.c +++ b/lib/krb5/auth_context.c @@ -153,7 +153,8 @@ krb5_auth_con_genaddrs(krb5_context context, strerror(ret)); goto out; } - krb5_sockaddr2address (context, local, &local_k_address); + ret = krb5_sockaddr2address (context, local, &local_k_address); + if(ret) goto out; if(flags & KRB5_AUTH_CONTEXT_GENERATE_LOCAL_FULL_ADDR) { krb5_sockaddr2port (context, local, &auth_context->local_port); } else @@ -168,7 +169,8 @@ krb5_auth_con_genaddrs(krb5_context context, krb5_set_error_string (context, "getpeername: %s", strerror(ret)); goto out; } - krb5_sockaddr2address (context, remote, &remote_k_address); + ret = krb5_sockaddr2address (context, remote, &remote_k_address); + if(ret) goto out; if(flags & KRB5_AUTH_CONTEXT_GENERATE_REMOTE_FULL_ADDR) { krb5_sockaddr2port (context, remote, &auth_context->remote_port); } else