summaryrefslogtreecommitdiff
path: root/sys/src/cmd/auth/lib
diff options
context:
space:
mode:
authorppatience0 <ppatience0@gmail.com>2013-02-17 09:55:03 -0500
committerppatience0 <ppatience0@gmail.com>2013-02-17 09:55:03 -0500
commit4aae319f76dd7157149aad6a67c3ca9b03a7f30a (patch)
tree1a5e14a3b93c42365a00663381a1af589942a6cb /sys/src/cmd/auth/lib
parentcb25ae9fe60a49ab67d8c5708cbbc65f3591b4a1 (diff)
rdbio: fix bug where a->user never gets set if Bopen fails.
Diffstat (limited to 'sys/src/cmd/auth/lib')
-rw-r--r--sys/src/cmd/auth/lib/rdbio.c36
1 files changed, 18 insertions, 18 deletions
diff --git a/sys/src/cmd/auth/lib/rdbio.c b/sys/src/cmd/auth/lib/rdbio.c
index 7363e4284..34196fd36 100644
--- a/sys/src/cmd/auth/lib/rdbio.c
+++ b/sys/src/cmd/auth/lib/rdbio.c
@@ -33,26 +33,26 @@ rdbio(char *file, char *user, Acctbio *a)
memset(a, 0, sizeof(Acctbio));
b = Bopen(file, OREAD);
- if(b == 0)
- return;
- while(p = Brdline(b, '\n')){
- p[Blinelen(b)-1] = 0;
- n = getfields(p, field, nelem(field), 0, "|");
- if(n < 4)
- continue;
- if(strcmp(field[0], user) != 0)
- continue;
+ if(b != 0){
+ while(p = Brdline(b, '\n')){
+ p[Blinelen(b)-1] = 0;
+ n = getfields(p, field, nelem(field), 0, "|");
+ if(n < 4)
+ continue;
+ if(strcmp(field[0], user) != 0)
+ continue;
- clrbio(a);
+ clrbio(a);
- a->postid = strdup(field[1]);
- a->name = strdup(field[2]);
- a->dept = strdup(field[3]);
- if(n-4 >= Nemail)
- n = Nemail-4;
- for(i = 4; i < n; i++)
- a->email[i-4] = strdup(field[i]);
+ a->postid = strdup(field[1]);
+ a->name = strdup(field[2]);
+ a->dept = strdup(field[3]);
+ if(n-4 >= Nemail)
+ n = Nemail-4;
+ for(i = 4; i < n; i++)
+ a->email[i-4] = strdup(field[i]);
+ }
+ Bterm(b);
}
a->user = strdup(user);
- Bterm(b);
}