diff options
author | Marc VanHeyningen <marc.vanheyningen@isilon.com> | 2008-03-14 14:26:28 -0800 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2008-03-17 20:52:25 +0100 |
commit | e06aa46b9fab1e107fea8f6453fb13deffa91e96 (patch) | |
tree | db972999f1b17db3e6b100fec70b5f4643632172 /source3/libads/krb5_setpw.c | |
parent | 6274929b1e1ddf89f4c5e93414121eaf06b6ab14 (diff) | |
download | samba-e06aa46b9fab1e107fea8f6453fb13deffa91e96.tar.gz samba-e06aa46b9fab1e107fea8f6453fb13deffa91e96.tar.bz2 samba-e06aa46b9fab1e107fea8f6453fb13deffa91e96.zip |
Coverity fixes
(This used to be commit 3fc85d22590550f0539215d020e4411bf5b14363)
Diffstat (limited to 'source3/libads/krb5_setpw.c')
-rw-r--r-- | source3/libads/krb5_setpw.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/source3/libads/krb5_setpw.c b/source3/libads/krb5_setpw.c index 852251a476..719f3bd3ec 100644 --- a/source3/libads/krb5_setpw.c +++ b/source3/libads/krb5_setpw.c @@ -438,10 +438,21 @@ static ADS_STATUS do_krb5_kpasswd_request(krb5_context context, return ADS_ERROR_SYSTEM(rc); } addr_len = sizeof(remote_addr); - getpeername(sock, (struct sockaddr *)&remote_addr, &addr_len); + if (getpeername(sock, (struct sockaddr *)&remote_addr, &addr_len) != 0) { + close(sock); + SAFE_FREE(ap_req.data); + krb5_auth_con_free(context, auth_context); + DEBUG(1,("getpeername() failed (%s)\n", error_message(errno))); + return ADS_ERROR_SYSTEM(errno); + } addr_len = sizeof(local_addr); - getsockname(sock, (struct sockaddr *)&local_addr, &addr_len); - + if (getsockname(sock, (struct sockaddr *)&local_addr, &addr_len) != 0) { + close(sock); + SAFE_FREE(ap_req.data); + krb5_auth_con_free(context, auth_context); + DEBUG(1,("getsockname() failed (%s)\n", error_message(errno))); + return ADS_ERROR_SYSTEM(errno); + } if (!setup_kaddr(&remote_kaddr, &remote_addr) || !setup_kaddr(&local_kaddr, &local_addr)) { DEBUG(1,("do_krb5_kpasswd_request: " |