]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
One more iteration on the ThisCell patch that adds more error handling
authorRuss Allbery <rra@debian.org>
Tue, 21 Nov 2006 00:54:31 +0000 (00:54 +0000)
committerRuss Allbery <rra@debian.org>
Tue, 21 Nov 2006 00:54:31 +0000 (00:54 +0000)
and fixes a C mistake.

src/auth/cellconfig.c

index bc9a6f79f868ff32c92c9a4bb9c51e3956abd9d5..032b6f4130e65286e01f52c6c4c2fd41042bce38 100644 (file)
@@ -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;
 }