From 0dc61205b6906426667f31b8b5c452d86e24ef95 Mon Sep 17 00:00:00 2001 From: Jim Rees Date: Fri, 14 Feb 2003 19:07:18 +0000 Subject: [PATCH] str-fixup-20030214 Protect afs_str*() in afs_util.c with #ifndef Use builtin strcasecmp, strcat for OBSD Use afs_strcat in afs_dynroot.c --- src/afs/OBSD/osi_machdep.h | 4 ++++ src/afs/afs_dynroot.c | 14 +++++++------- src/afs/afs_prototypes.h | 10 +++++++++- src/afs/afs_util.c | 8 ++++++++ 4 files changed, 28 insertions(+), 8 deletions(-) diff --git a/src/afs/OBSD/osi_machdep.h b/src/afs/OBSD/osi_machdep.h index cd453caf4..a57c62fb0 100644 --- a/src/afs/OBSD/osi_machdep.h +++ b/src/afs/OBSD/osi_machdep.h @@ -80,6 +80,10 @@ extern struct timeval time; #define osi_GetTime(x) microtime(x) #define osi_Time() (time.tv_sec) +/* str */ +#define afs_strcasecmp(s1, s2) strncasecmp((s1), (s2), 65535) +#define afs_strcat(s1, s2) strcat((s1), (s2)) + /* other */ #define afs_bufferpages bufpages #ifndef iodone diff --git a/src/afs/afs_dynroot.c b/src/afs/afs_dynroot.c index 93e072782..a640b9596 100644 --- a/src/afs/afs_dynroot.c +++ b/src/afs/afs_dynroot.c @@ -303,7 +303,7 @@ static void afs_RebuildDynroot(void) dotLen = strlen(c->cellName) + 2; dotCell = afs_osi_Alloc(dotLen); strcpy(dotCell, "."); - strcat(dotCell, c->cellName); + afs_strcat(dotCell, c->cellName); afs_dynroot_computeDirEnt(c->cellName, &curPage, &curChunk); afs_dynroot_computeDirEnt(dotCell, &curPage, &curChunk); @@ -320,7 +320,7 @@ static void afs_RebuildDynroot(void) dotLen = strlen(ca->alias) + 2; dotCell = afs_osi_Alloc(dotLen); strcpy(dotCell, "."); - strcat(dotCell, ca->alias); + afs_strcat(dotCell, ca->alias); afs_dynroot_computeDirEnt(ca->alias, &curPage, &curChunk); afs_dynroot_computeDirEnt(dotCell, &curPage, &curChunk); @@ -374,7 +374,7 @@ static void afs_RebuildDynroot(void) dotLen = strlen(c->cellName) + 2; dotCell = afs_osi_Alloc(dotLen); strcpy(dotCell, "."); - strcat(dotCell, c->cellName); + afs_strcat(dotCell, c->cellName); afs_dynroot_addDirEnt(dirHeader, &curPage, &curChunk, c->cellName, VNUM_FROM_CIDX_RW(cellidx, 0)); afs_dynroot_addDirEnt(dirHeader, &curPage, &curChunk, @@ -392,7 +392,7 @@ static void afs_RebuildDynroot(void) dotLen = strlen(ca->alias) + 2; dotCell = afs_osi_Alloc(dotLen); strcpy(dotCell, "."); - strcat(dotCell, ca->alias); + afs_strcat(dotCell, ca->alias); afs_dynroot_addDirEnt(dirHeader, &curPage, &curChunk, ca->alias, VNUM_FROM_CAIDX_RW(aliasidx, 0)); afs_dynroot_addDirEnt(dirHeader, &curPage, &curChunk, @@ -554,7 +554,7 @@ int afs_DynrootNewVnode(struct vcache *avc, struct AFSFetchStatus *status) linklen = rw + namelen; avc->linkData = afs_osi_Alloc(linklen + 1); strcpy(avc->linkData, rw ? "." : ""); - strcat(avc->linkData, realName); + afs_strcat(avc->linkData, realName); } status->UnixModeBits = 0755; @@ -574,8 +574,8 @@ int afs_DynrootNewVnode(struct vcache *avc, struct AFSFetchStatus *status) linklen = 1 + namelen + 10; avc->linkData = afs_osi_Alloc(linklen + 1); strcpy(avc->linkData, rw ? "%" : "#"); - strcat(avc->linkData, c->cellName); - strcat(avc->linkData, ":root.cell"); + afs_strcat(avc->linkData, c->cellName); + afs_strcat(avc->linkData, ":root.cell"); status->UnixModeBits = 0644; afs_PutCell(c, READ_LOCK); diff --git a/src/afs/afs_prototypes.h b/src/afs/afs_prototypes.h index 09c16f00b..de4b54802 100644 --- a/src/afs/afs_prototypes.h +++ b/src/afs/afs_prototypes.h @@ -665,11 +665,19 @@ extern void afs_SetPrimary(register struct unixuser *au, register int aflag); /* afs_util.c */ +#ifndef afs_cv2string extern char *afs_cv2string(char *ttp, afs_uint32 aval); +#endif +#ifndef afs_strcasecmp extern int afs_strcasecmp(char *s1, char *s2); -extern char *afs_strdup(char *s); +#endif +#ifndef afs_strcat extern char *afs_strcat(char *s1, char *s2); +#endif +#ifndef afs_strchr extern char *afs_strchr(char *s, int c); +#endif +extern char *afs_strdup(char *s); extern void print_internet_address(char *preamble, struct srvAddr *sa, char *postamble, int flag); extern afs_int32 afs_data_pointer_to_int32(const void *p); diff --git a/src/afs/afs_util.c b/src/afs/afs_util.c index 4ffa493d6..751423aeb 100644 --- a/src/afs/afs_util.c +++ b/src/afs/afs_util.c @@ -48,6 +48,7 @@ RCSID("$Header$"); #include #endif +#ifndef afs_cv2string char *afs_cv2string(char *ttp, afs_uint32 aval) { register char *tp = ttp; @@ -68,7 +69,9 @@ char *afs_cv2string(char *ttp, afs_uint32 aval) return tp; } /*afs_cv2string*/ +#endif +#ifndef afs_strcasecmp int afs_strcasecmp(char *s1, char *s2) { while (*s1 && *s2) { @@ -84,7 +87,9 @@ int afs_strcasecmp(char *s1, char *s2) return *s1 - *s2; } +#endif +#ifndef afs_strcat char *afs_strcat(char *s1, char *s2) { char *os1; @@ -97,7 +102,9 @@ char *afs_strcat(char *s1, char *s2) ; return (os1); } +#endif +#ifndef afs_strchr char *afs_strchr(char *s, int c) { char *p; @@ -107,6 +114,7 @@ char *afs_strchr(char *s, int c) return p; return NULL; } +#endif char *afs_strdup(char *s) { -- 2.39.5