From d0ed34baa0e23b7bb24ea009004a527331baf275 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Wed, 6 Aug 2008 21:25:43 +0000 Subject: [PATCH] windows-cell-name-length-consistency-two-20080806 LICENSE MIT fix what I broke --- src/WINNT/afsd/cm_cell.c | 3 ++- src/WINNT/afsd/cm_config.c | 12 ++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/WINNT/afsd/cm_cell.c b/src/WINNT/afsd/cm_cell.c index c2c3b1337..128e53ab6 100644 --- a/src/WINNT/afsd/cm_cell.c +++ b/src/WINNT/afsd/cm_cell.c @@ -150,7 +150,8 @@ cm_cell_t *cm_GetCell_Gen(char *namep, char *newnamep, afs_uint32 flags) lock_ObtainRead(&cm_cellLock); for (cp = cm_data.cellNameHashTablep[hash]; cp; cp=cp->nameNextp) { if (cm_stricmp_utf8(namep, cp->name) == 0) { - strcpy(fullname, cp->name); + strncpy(fullname, cp->name, CELL_MAXNAMELEN); + fullname[CELL_MAXNAMELEN-1] = '\0'; break; } } diff --git a/src/WINNT/afsd/cm_config.c b/src/WINNT/afsd/cm_config.c index 6e357e541..55bdffd22 100644 --- a/src/WINNT/afsd/cm_config.c +++ b/src/WINNT/afsd/cm_config.c @@ -196,8 +196,8 @@ long cm_SearchCellFile(char *cellNamep, char *newCellNamep, if (stricmp(lineBuffer+1, cellNamep) == 0) { /* found the cell we're looking for */ if (newCellNamep) { - strncpy(newCellNamep, lineBuffer+1,CELL_MAXNAMELEN+1); - newCellNamep[CELL_MAXNAMELEN] = '\0'; + strncpy(newCellNamep, lineBuffer+1,CELL_MAXNAMELEN); + newCellNamep[CELL_MAXNAMELEN-1] = '\0'; strlwr(newCellNamep); } inRightCell = 1; @@ -215,8 +215,8 @@ long cm_SearchCellFile(char *cellNamep, char *newCellNamep, return -5; } if (newCellNamep) { - strncpy(newCellNamep, lineBuffer+1,CELL_MAXNAMELEN+1); - newCellNamep[CELL_MAXNAMELEN] = '\0'; + strncpy(newCellNamep, lineBuffer+1,CELL_MAXNAMELEN); + newCellNamep[CELL_MAXNAMELEN-1] = '\0'; strlwr(newCellNamep); } inRightCell = 0; @@ -316,8 +316,8 @@ long cm_SearchCellByDNS(char *cellNamep, char *newCellNamep, int *ttl, if (procp) (*procp)(rockp, &vlSockAddr, cellHostNames[i]); if (newCellNamep) { - strncpy(newCellNamep,cellNamep,CELL_MAXNAMELEN+1); - newCellNamep[CELL_MAXNAMELEN] = '\0'; + strncpy(newCellNamep,cellNamep,CELL_MAXNAMELEN); + newCellNamep[CELL_MAXNAMELEN-1] = '\0'; strlwr(newCellNamep); } } -- 2.39.5