From dfd74696844df7ffacc5c2db01393bad3fce9dcc Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Sat, 1 Jun 2013 00:48:51 -0400 Subject: [PATCH] Windows: Protect against cm_GetVolServerList failures In cm_Analyze, if cm_GetVolServerList() fails volServerpp will be NULL which will trigger an exception if passed to either cm_SetServerBusyStatus or cm_ResetServerBusyStatus. Change-Id: I75b4b855b8c3ccfc014532b0c2eb3135807647ef Reviewed-on: http://gerrit.openafs.org/9960 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- src/WINNT/afsd/cm_conn.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/WINNT/afsd/cm_conn.c b/src/WINNT/afsd/cm_conn.c index eb8fd3b..e14ac05 100644 --- a/src/WINNT/afsd/cm_conn.c +++ b/src/WINNT/afsd/cm_conn.c @@ -508,7 +508,8 @@ cm_Analyze(cm_conn_t *connp, if (code == 0) free_svr_list = 1; } - cm_ResetServerBusyStatus(volServerspp); + if (volServerspp) + cm_ResetServerBusyStatus(volServerspp); if (free_svr_list) { cm_FreeServerList(volServerspp, 0); free_svr_list = 0; @@ -559,7 +560,8 @@ cm_Analyze(cm_conn_t *connp, if (code == 0) free_svr_list = 1; } - cm_ResetServerBusyStatus(volServerspp); + if (volServerspp) + cm_ResetServerBusyStatus(volServerspp); if (free_svr_list) { cm_FreeServerList(volServerspp, 0); free_svr_list = 0; @@ -651,7 +653,8 @@ cm_Analyze(cm_conn_t *connp, osi_Log3(afsd_logp, format, osi_LogSaveString(afsd_logp,addr), fidp->volume, cellp->name); LogEvent(EVENTLOG_WARNING_TYPE, msgID, addr, fidp->volume, cellp->name); - cm_SetServerBusyStatus(volServerspp, serverp); + if (volServerspp) + cm_SetServerBusyStatus(volServerspp, serverp); } if (free_svr_list) { -- 1.9.4