From: Jeffrey Altman Date: Mon, 25 Jun 2007 05:58:30 +0000 (+0000) Subject: windows-get-server-list-20070625 X-Git-Tag: BP-openafs-windows-kdfs-ifs~640 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=3eb7be5c5e63fbf5cbd978c29f155f3e0de856bb;p=packages%2Fo%2Fopenafs.git windows-get-server-list-20070625 return an error when the cm_fid_t * is NULL since we can't look up the volume to obtain a server list without knowing which volume we should be looking up if the fidp is known to be NULL, don't call cm_GetServerList() --- diff --git a/src/WINNT/afsd/cm_conn.c b/src/WINNT/afsd/cm_conn.c index 0cee8afc6..71012c3ff 100644 --- a/src/WINNT/afsd/cm_conn.c +++ b/src/WINNT/afsd/cm_conn.c @@ -113,7 +113,7 @@ static long cm_GetServerList(struct cm_fid *fidp, struct cm_user *userp, if (!fidp) { *serversppp = NULL; - return 0; + return CM_ERROR_INVAL; } cellp = cm_FindCellByID(fidp->cell); @@ -351,7 +351,7 @@ cm_Analyze(cm_conn_t *connp, cm_user_t *userp, cm_req_t *reqp, /* special codes: VBUSY and VRESTARTING */ else if (errorCode == VBUSY || errorCode == VRESTARTING) { - if (!serversp) { + if (!serversp && fidp) { code = cm_GetServerList(fidp, userp, reqp, &serverspp); if (code == 0) { serversp = *serverspp; @@ -437,7 +437,7 @@ cm_Analyze(cm_conn_t *connp, cm_user_t *userp, cm_req_t *reqp, LogEvent(EVENTLOG_WARNING_TYPE, msgID, addr, fidp->volume); /* Mark server offline for this volume */ - if (!serversp) { + if (!serversp && fidp) { code = cm_GetServerList(fidp, userp, reqp, &serverspp); if (code == 0) { serversp = *serverspp;