diff options
| author | John Kohl <jtkohl@mit.edu> | 1990-10-18 10:36:55 +0000 |
|---|---|---|
| committer | John Kohl <jtkohl@mit.edu> | 1990-10-18 10:36:55 +0000 |
| commit | 52cc5043c5916b8623231b4475174307e2bfde67 (patch) | |
| tree | 515145566eb23bfa2e845ef51d2416378c2e298a /src | |
| parent | 3e8bdb01874c07bf6ff8c40751cf6c038be45014 (diff) | |
fix concat_authorization_data to work properly in absence of
authorization data (from Bill Sommerfeld)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@1256 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
| -rw-r--r-- | src/kdc/kdc_util.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/kdc/kdc_util.c b/src/kdc/kdc_util.c index c95680929..3fff61db6 100644 --- a/src/kdc/kdc_util.c +++ b/src/kdc/kdc_util.c @@ -40,15 +40,18 @@ krb5_authdata ***output; register krb5_authdata **ptr, **retdata; /* count up the entries */ - for (i = 0, ptr = first; *ptr; ptr++,i++); - for (ptr = second; *ptr; ptr++,i++); + i = 0; + if (first) + for (ptr = first; *ptr; ptr++,i++); + if (second) + for (ptr = second; *ptr; ptr++,i++); retdata = (krb5_authdata **)malloc((i+1)*sizeof(*retdata)); if (!retdata) return ENOMEM; retdata[i] = 0; /* null-terminated array */ for (i = 0, j = 0, ptr = first; j < 2 ; ptr = second, j++) - while (*ptr) { + while (ptr && *ptr) { /* now walk & copy */ retdata[i] = (krb5_authdata *)malloc(sizeof(*retdata[i])); if (!retdata[i]) { |
