diff options
| author | Nicolas Williams <nico@cryptonector.com> | 2012-07-25 23:00:49 -0500 |
|---|---|---|
| committer | Greg Hudson <ghudson@mit.edu> | 2012-07-30 19:11:34 -0400 |
| commit | 3576bd662be9b7cc2cca97065fe467e745542b69 (patch) | |
| tree | 2624f3242d23ee8c2fb5312064a280a1dba8bc0a /src/lib | |
| parent | 5829ca2b348974e52a67b553afc7f7491007c33a (diff) | |
| download | krb5-3576bd662be9b7cc2cca97065fe467e745542b69.tar.gz krb5-3576bd662be9b7cc2cca97065fe467e745542b69.tar.xz krb5-3576bd662be9b7cc2cca97065fe467e745542b69.zip | |
Constify krb5_string_to_keysalts()'s string arg
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/kadm5/admin_internal.h | 2 | ||||
| -rw-r--r-- | src/lib/kadm5/srv/svr_policy.c | 2 | ||||
| -rw-r--r-- | src/lib/kadm5/str_conv.c | 22 |
3 files changed, 14 insertions, 12 deletions
diff --git a/src/lib/kadm5/admin_internal.h b/src/lib/kadm5/admin_internal.h index 6d79243bd..ec604b2b3 100644 --- a/src/lib/kadm5/admin_internal.h +++ b/src/lib/kadm5/admin_internal.h @@ -70,7 +70,7 @@ kadm5_ret_t _kadm5_chpass_principal_util(void *server_handle, maybe shouldn't be named krb5_*, but they are. */ krb5_error_code -krb5_string_to_keysalts(char *string, const char *tupleseps, +krb5_string_to_keysalts(const char *string, const char *tupleseps, const char *ksaltseps, krb5_boolean dups, krb5_key_salt_tuple **ksaltp, krb5_int32 *nksaltp); diff --git a/src/lib/kadm5/srv/svr_policy.c b/src/lib/kadm5/srv/svr_policy.c index 3a8f82ecf..0d79f86dc 100644 --- a/src/lib/kadm5/srv/svr_policy.c +++ b/src/lib/kadm5/srv/svr_policy.c @@ -54,7 +54,7 @@ kadm5_create_policy(void *server_handle, /* Validate allowed_keysalts. */ static kadm5_ret_t -validate_allowed_keysalts(char *allowed_keysalts) +validate_allowed_keysalts(const char *allowed_keysalts) { kadm5_ret_t ret; krb5_key_salt_tuple *ks_tuple = NULL; diff --git a/src/lib/kadm5/str_conv.c b/src/lib/kadm5/str_conv.c index 37a27dd36..cdd2786c1 100644 --- a/src/lib/kadm5/str_conv.c +++ b/src/lib/kadm5/str_conv.c @@ -251,16 +251,12 @@ krb5_keysalt_is_present(ksaltlist, nksalts, enctype, salttype) * of key/salt tuples. */ krb5_error_code -krb5_string_to_keysalts(string, tupleseps, ksaltseps, dups, ksaltp, nksaltp) - char *string; - const char *tupleseps; - const char *ksaltseps; - krb5_boolean dups; - krb5_key_salt_tuple **ksaltp; - krb5_int32 *nksaltp; +krb5_string_to_keysalts(const char *string, const char *tupleseps, + const char *ksaltseps, krb5_boolean dups, + krb5_key_salt_tuple **ksaltp, krb5_int32 *nksaltp) { krb5_error_code kret; - char *kp, *sp, *ep; + char *dup_string, *kp, *sp, *ep; char sepchar = 0, trailchar = 0; krb5_enctype ktype; krb5_int32 stype; @@ -271,7 +267,10 @@ krb5_string_to_keysalts(string, tupleseps, ksaltseps, dups, ksaltp, nksaltp) size_t len; kret = 0; - kp = string; + dup_string = strdup(string); + if (dup_string == NULL) + return ENOMEM; + kp = dup_string; tseplist = (tupleseps) ? tupleseps : default_tupleseps; ksseplist = (ksaltseps) ? ksaltseps : default_ksaltseps; while (kp) { @@ -346,8 +345,10 @@ krb5_string_to_keysalts(string, tupleseps, ksaltseps, dups, ksaltp, nksaltp) break; } } - if (kret) + if (kret) { + free(dup_string); return kret; + } if (sp) sp[-1] = sepchar; if (ep) @@ -369,6 +370,7 @@ krb5_string_to_keysalts(string, tupleseps, ksaltseps, dups, ksaltp, nksaltp) if (!*kp) kp = NULL; } } /* while kp */ + free(dup_string); return(kret); } |
