From: Russ Allbery Date: Tue, 21 Nov 2006 00:54:31 +0000 (+0000) Subject: One more iteration on the ThisCell patch that adds more error handling X-Git-Tag: debian/1.4.2-3~1 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=67e05f00d88dcf1849704e0d0b22c577971d2366;p=packages%2Fo%2Fopenafs.git One more iteration on the ThisCell patch that adds more error handling and fixes a C mistake. --- diff --git a/src/auth/cellconfig.c b/src/auth/cellconfig.c index bc9a6f79f..032b6f413 100644 --- a/src/auth/cellconfig.c +++ b/src/auth/cellconfig.c @@ -478,7 +478,7 @@ GetCellUnix(struct afsconf_dir *adir) { char *rc; char tbuffer[256]; - char *p; + char *start, *p; afsconf_FILE *fp; strcompose(tbuffer, 256, adir->name, "/", AFSDIR_THISCELL_FILE, NULL); @@ -488,15 +488,20 @@ GetCellUnix(struct afsconf_dir *adir) } rc = fgets(tbuffer, 256, fp); fclose(fp); + if (rc == NULL) + return -1; - while (*tbuffer != '\0' && isspace(*tbuffer)) - tbuffer++; - p = tbuffer; + start = tbuffer; + while (*start != '\0' && isspace(*start)) + start++; + p = start; while (*p != '\0' && !isspace(*p)) p++; *p = '\0'; + if (*start == '\0') + return -1; - adir->cellName = strdup(tbuffer); + adir->cellName = strdup(start); return 0; }