diff options
| author | Cy Schubert <cy@FreeBSD.org> | 2022-11-24 15:07:43 +0000 |
|---|---|---|
| committer | Cy Schubert <cy@FreeBSD.org> | 2022-11-24 17:23:23 +0000 |
| commit | 91db848212e3b95cc689a1e8133a1d550b524919 (patch) | |
| tree | f0d8de044b506f5c84320846d74c56b67fffb2e9 /crypto | |
| parent | 05bc50bdb1c1ddbbeb853ea4b184aced0eca9b3f (diff) | |
Diffstat (limited to 'crypto')
| -rw-r--r-- | crypto/heimdal/lib/kadm5/marshall.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/crypto/heimdal/lib/kadm5/marshall.c b/crypto/heimdal/lib/kadm5/marshall.c index 38b9855021b2..fa7388b692fe 100644 --- a/crypto/heimdal/lib/kadm5/marshall.c +++ b/crypto/heimdal/lib/kadm5/marshall.c @@ -333,12 +333,38 @@ _kadm5_unmarshal_params(krb5_context context, ret = krb5_ret_int32(sp, &mask); if (ret) goto out; + if (mask & KADM5_CONFIG_REALM & KADM5_CONFIG_DBNAME + & KADM5_CONFIG_ACL_FILE & KADM5_CONFIG_STASH_FILE) { + ret = EINVAL; + goto out; + } params->mask = mask; if (params->mask & KADM5_CONFIG_REALM) { ret = krb5_ret_string(sp, ¶ms->realm); if (params->realm == NULL) { ret = EINVAL; + goto out; + } + } + if (params->mask & KADM5_CONFIG_DBNAME) { + ret = krb5_ret_string(sp, ¶ms->dbname); + if (params->dbname == NULL) { + ret = EINVAL; + goto out; + } + } + if (params->mask & KADM5_CONFIG_ACL_FILE) { + ret = krb5_ret_string(sp, ¶ms->acl_file); + if (params->acl_file == NULL) { + ret = EINVAL; + goto out; + } + } + if (params->mask & KADM5_CONFIG_STASH_FILE) { + ret = krb5_ret_string(sp, ¶ms->stash_file); + if (params->stash_file == NULL) { + ret = EINVAL; } } out: |
