From: Derrick Brashear Date: Tue, 5 Sep 2006 17:31:58 +0000 (+0000) Subject: STABLE14-callpostamble-deal-with-null-host-20060905 X-Git-Tag: openafs-stable-1_4_2fc3~10 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=459c5d3d9c7f07e0a0282b89fd4df6a0db6992c4;p=packages%2Fo%2Fopenafs.git STABLE14-callpostamble-deal-with-null-host-20060905 FIXES 38566 don't dereference garbage when no host was set (cherry picked from commit 56bbd155db6941d915cf199f6e23cccfeb359ce8) --- diff --git a/src/viced/afsfileprocs.c b/src/viced/afsfileprocs.c index 0b18714b0..aa574407c 100644 --- a/src/viced/afsfileprocs.c +++ b/src/viced/afsfileprocs.c @@ -308,6 +308,8 @@ CallPreamble(register struct rx_call *acall, int activecall, char hoststr[16], hoststr2[16]; struct ubik_client *uclient; + *ahostp = NULL; + if (!tconn) { ViceLog(0, ("CallPreamble: unexpected null tconn!\n")); return -1; @@ -427,14 +429,19 @@ CallPostamble(register struct rx_connection *aconn, afs_int32 ret, held = h_Held_r(thost); if (held) h_Release_r(thost); - if (ahost != thost) { + if (ahost && ahost != thost) { char hoststr[16], hoststr2[16]; ViceLog(0, ("CallPostamble: ahost %s:%d (%x) != thost %s:%d (%x)\n", - afs_inet_ntoa_r(thost->host, hoststr), ntohs(thost->port), + afs_inet_ntoa_r(ahost->host, hoststr), ntohs(ahost->port), ahost, afs_inet_ntoa_r(thost->host, hoststr2), ntohs(thost->port), thost)); h_Release_r(ahost); + } else if (!ahost) { + char hoststr[16]; + ViceLog(0, ("CallPostamble: null ahost for thost %s:%d (%x)\n", + afs_inet_ntoa_r(thost->host, hoststr), ntohs(thost->port), + thost)); } H_UNLOCK; return (translate ? sys_error_to_et(ret) : ret);