From 3eb7be5c5e63fbf5cbd978c29f155f3e0de856bb Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Mon, 25 Jun 2007 05:58:30 +0000 Subject: [PATCH] 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() --- src/WINNT/afsd/cm_conn.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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; -- 2.39.5