From: Derrick Brashear Date: Tue, 5 Sep 2006 17:30:33 +0000 (+0000) Subject: callpostamble-deal-with-null-host-20060905 X-Git-Tag: BP-openafs-windows-kdfs-ifs~1061 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=56bbd155db6941d915cf199f6e23cccfeb359ce8;p=packages%2Fo%2Fopenafs.git callpostamble-deal-with-null-host-20060905 FIXES 38566 don't dereference garbage when no host was set --- diff --git a/src/viced/afsfileprocs.c b/src/viced/afsfileprocs.c index cd6fb5fcf..00a477d96 100644 --- a/src/viced/afsfileprocs.c +++ b/src/viced/afsfileprocs.c @@ -311,6 +311,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; @@ -430,14 +432,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);