diff options
author | John Kohl <jtkohl@mit.edu> | 1990-05-01 14:23:44 +0000 |
---|---|---|
committer | John Kohl <jtkohl@mit.edu> | 1990-05-01 14:23:44 +0000 |
commit | 7071588516dc99f6e4a0e2f79dd15b0f50c9b1d5 (patch) | |
tree | c1349be7052c5261705fef9beaa036cd02ac292e /src | |
parent | 5b6f17280ecc3d9d4557042a87aef3e8d4434a15 (diff) | |
download | krb5-7071588516dc99f6e4a0e2f79dd15b0f50c9b1d5.zip krb5-7071588516dc99f6e4a0e2f79dd15b0f50c9b1d5.tar.gz krb5-7071588516dc99f6e4a0e2f79dd15b0f50c9b1d5.tar.bz2 |
rearrange code to eliminate null-deref problem
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@636 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/krb5/krb/parse.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/krb5/krb/parse.c b/src/lib/krb5/krb/parse.c index 37b149c..f713180 100644 --- a/src/lib/krb5/krb/parse.c +++ b/src/lib/krb5/krb/parse.c @@ -114,7 +114,7 @@ krb5_principal *principal; for (ncomponents = 1, cp = name, endcomponent = index(name, COMPONENT_SEP); cp && cp <= realmptr; - ncomponents++, endcomponent = index(cp, COMPONENT_SEP)) { + ncomponents++) { if (endcomponent && endcomponent < realmptr) { retprinc[ncomponents]->length = endcomponent - cp; @@ -135,9 +135,10 @@ krb5_principal *principal; strncpy(retprinc[ncomponents]->data, cp, retprinc[ncomponents]->length); retprinc[ncomponents]->data[retprinc[ncomponents]->length] = '\0'; - if (endcomponent) + if (endcomponent) { cp = endcomponent + 1; /* move past divider */ - else + endcomponent = index(cp, COMPONENT_SEP); + } else cp = 0; } *principal = retprinc; |