diff options
| author | Greg Hudson <ghudson@mit.edu> | 2008-10-20 18:18:49 +0000 |
|---|---|---|
| committer | Greg Hudson <ghudson@mit.edu> | 2008-10-20 18:18:49 +0000 |
| commit | e4a2f122c3086c1179323c0e24edb3506d3f4758 (patch) | |
| tree | 310614d952144eaba5f2e0a1aec7f86af40862de /src/lib | |
| parent | 4c6801514e9ee5e6459780d37bc4a83429dd4746 (diff) | |
| download | krb5-e4a2f122c3086c1179323c0e24edb3506d3f4758.tar.gz krb5-e4a2f122c3086c1179323c0e24edb3506d3f4758.tar.xz krb5-e4a2f122c3086c1179323c0e24edb3506d3f4758.zip | |
Use strdup in place of malloc/strcpy in many places
ticket: 6200
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20898 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
25 files changed, 35 insertions, 91 deletions
diff --git a/src/lib/gssapi/generic/util_canonhost.c b/src/lib/gssapi/generic/util_canonhost.c index f1bd93f2b..ef093e621 100644 --- a/src/lib/gssapi/generic/util_canonhost.c +++ b/src/lib/gssapi/generic/util_canonhost.c @@ -59,11 +59,9 @@ g_canonicalize_host(char *hostname) xfree(haddr); - if ((canon = (char *) xmalloc(strlen(hent->h_name)+1)) == NULL) + if ((canon = (char *) strdup(hent->h_name)) == NULL) return(NULL); - strcpy(canon, hent->h_name); - for (str = canon; *str; str++) if (isupper(*str)) *str = tolower(*str); diff --git a/src/lib/gssapi/generic/util_localhost.c b/src/lib/gssapi/generic/util_localhost.c index 2d3c27cb2..c014400fb 100644 --- a/src/lib/gssapi/generic/util_localhost.c +++ b/src/lib/gssapi/generic/util_localhost.c @@ -45,8 +45,5 @@ g_local_host_name(void) buf[sizeof(buf)-1] = '\0'; - if (! (ptr = xmalloc(strlen(buf) + 1))) - return 0; - - return strcpy(ptr, buf); + return strdup(buf); } diff --git a/src/lib/gssapi/krb5/gssapi_krb5.c b/src/lib/gssapi/krb5/gssapi_krb5.c index 64812a78b..12e553f2f 100644 --- a/src/lib/gssapi/krb5/gssapi_krb5.c +++ b/src/lib/gssapi/krb5/gssapi_krb5.c @@ -246,12 +246,11 @@ kg_set_ccache_name (OM_uint32 *minor_status, const char *name) krb5_error_code kerr; if (name) { - new_name = malloc(strlen(name) + 1); + new_name = strdup(name); if (new_name == NULL) { *minor_status = ENOMEM; return GSS_S_FAILURE; } - strcpy(new_name, name); } kg_ccache_name = k5_getspecific(K5_KEY_GSS_KRB5_CCACHE_NAME); diff --git a/src/lib/gssapi/mechglue/g_dsp_status.c b/src/lib/gssapi/mechglue/g_dsp_status.c index 78dac8a5c..cb779aa90 100644 --- a/src/lib/gssapi/mechglue/g_dsp_status.c +++ b/src/lib/gssapi/mechglue/g_dsp_status.c @@ -358,12 +358,11 @@ gss_buffer_t outStr; /* now copy the status code and return to caller */ outStr->length = strlen(errStr); - outStr->value = malloc((size_t)outStr->length+1); + outStr->value = strdup(errStr); if (outStr->value == NULL) { outStr->length = 0; return (GSS_S_FAILURE); } - (void) strcpy((char *)outStr->value, errStr); return (GSS_S_COMPLETE); } /* displayMajor */ diff --git a/src/lib/gssapi/spnego/spnego_mech.c b/src/lib/gssapi/spnego/spnego_mech.c index a62336139..54b9af5d1 100644 --- a/src/lib/gssapi/spnego/spnego_mech.c +++ b/src/lib/gssapi/spnego/spnego_mech.c @@ -2260,14 +2260,7 @@ negotiate_mech_type(OM_uint32 *minor_status, static spnego_token_t make_spnego_token(char *name) { - spnego_token_t token; - - token = (spnego_token_t)malloc(strlen(name)+1); - - if (token == NULL) - return (NULL); - strcpy(token, name); - return (token); + return (spnego_token_t)strdup(name); } static gss_buffer_desc diff --git a/src/lib/kadm5/logger.c b/src/lib/kadm5/logger.c index a1edd495d..1dc886abd 100644 --- a/src/lib/kadm5/logger.c +++ b/src/lib/kadm5/logger.c @@ -664,10 +664,7 @@ krb5_klog_init(krb5_context kcontext, char *ename, char *whoami, krb5_boolean do log_control.log_nentries = 1; } if (log_control.log_nentries) { - log_control.log_whoami = (char *) malloc(strlen(whoami)+1); - if (log_control.log_whoami) - strcpy(log_control.log_whoami, whoami); - + log_control.log_whoami = strdup(whoami); log_control.log_hostname = (char *) malloc(MAXHOSTNAMELEN + 1); if (log_control.log_hostname) { gethostname(log_control.log_hostname, MAXHOSTNAMELEN); diff --git a/src/lib/kadm5/srv/server_acl.c b/src/lib/kadm5/srv/server_acl.c index 8eed476c8..f3172e49a 100644 --- a/src/lib/kadm5/srv/server_acl.c +++ b/src/lib/kadm5/srv/server_acl.c @@ -217,9 +217,8 @@ kadm5int_acl_parse_line(lp) } } if (opok) { - acle->ae_name = (char *) malloc(strlen(acle_principal)+1); + acle->ae_name = strdup(acle_principal); if (acle->ae_name) { - strcpy(acle->ae_name, acle_principal); acle->ae_principal = (krb5_principal) NULL; acle->ae_name_bad = 0; DPRINT(DEBUG_ACL, acl_debug_level, diff --git a/src/lib/kadm5/srv/svr_policy.c b/src/lib/kadm5/srv/svr_policy.c index 512876b79..3286404eb 100644 --- a/src/lib/kadm5/srv/svr_policy.c +++ b/src/lib/kadm5/srv/svr_policy.c @@ -289,11 +289,10 @@ kadm5_get_policy(void *server_handle, kadm5_policy_t name, if( cnt != 1 ) return KADM5_UNK_POLICY; - if ((entry->policy = (char *) malloc(strlen(t->name) + 1)) == NULL) { + if ((entry->policy = strdup(t->name)) == NULL) { krb5_db_free_policy(handle->context, t); return ENOMEM; } - strcpy(entry->policy, t->name); entry->pw_min_life = t->pw_min_life; entry->pw_max_life = t->pw_max_life; entry->pw_min_length = t->pw_min_length; diff --git a/src/lib/kadm5/srv/svr_principal.c b/src/lib/kadm5/srv/svr_principal.c index f0b54ee12..4b763b5ff 100644 --- a/src/lib/kadm5/srv/svr_principal.c +++ b/src/lib/kadm5/srv/svr_principal.c @@ -744,11 +744,10 @@ kadm5_get_principal(void *server_handle, krb5_principal principal, if ((mask & KADM5_POLICY) && adb.policy && (adb.aux_attributes & KADM5_POLICY)) { - if ((entry->policy = (char *) malloc(strlen(adb.policy) + 1)) == NULL) { + if ((entry->policy = strdup(adb.policy)) == NULL) { ret = ENOMEM; goto done; } - strcpy(entry->policy, adb.policy); } if (mask & KADM5_AUX_ATTRIBUTES) diff --git a/src/lib/krb5/asn.1/asn1buf.c b/src/lib/krb5/asn.1/asn1buf.c index 49ef84fbb..4162c9ee5 100644 --- a/src/lib/krb5/asn.1/asn1buf.c +++ b/src/lib/krb5/asn.1/asn1buf.c @@ -276,13 +276,11 @@ asn1_error_code asn1buf_unparse(const asn1buf *buf, char **s) { free(*s); if (buf == NULL) { - *s = malloc(sizeof("<NULL>")); + *s = strdup("<NULL>"); if (*s == NULL) return ENOMEM; - strcpy(*s,"<NULL>"); } else if (buf->base == NULL) { - *s = malloc(sizeof("<EMPTY>")); + *s = strdup("<EMPTY>"); if (*s == NULL) return ENOMEM; - strcpy(*s,"<EMPTY>"); } else { unsigned int length = asn1buf_len(buf); unsigned int i; @@ -305,13 +303,11 @@ asn1_error_code asn1buf_hex_unparse(const asn1buf *buf, char **s) free(*s); if (buf == NULL) { - *s = malloc(sizeof("<NULL>")); + *s = strdup("<NULL>"); if (*s == NULL) return ENOMEM; - strcpy(*s,"<NULL>"); } else if (buf->base == NULL) { - *s = malloc(sizeof("<EMPTY>")); + *s = strdup("<EMPTY>"); if (*s == NULL) return ENOMEM; - strcpy(*s,"<EMPTY>"); } else { unsigned int length = asn1buf_len(buf); int i; diff --git a/src/lib/krb5/ccache/cc_memory.c b/src/lib/krb5/ccache/cc_memory.c index 4a3b67c80..cdddc58f5 100644 --- a/src/lib/krb5/ccache/cc_memory.c +++ b/src/lib/krb5/ccache/cc_memory.c @@ -415,7 +415,7 @@ new_mcc_data (const char *name, krb5_mcc_data **dataptr) return err; } - d->name = malloc(strlen(name) + 1); + d->name = strdup(name); if (d->name == NULL) { k5_cc_mutex_destroy(&d->lock); krb5_xfree(d); @@ -426,9 +426,6 @@ new_mcc_data (const char *name, krb5_mcc_data **dataptr) d->changetime = 0; update_mcc_change_time(d); - /* Set up the filename */ - strcpy(d->name, name); - n = malloc(sizeof(krb5_mcc_list_node)); if (n == NULL) { free(d->name); diff --git a/src/lib/krb5/ccache/ccapi/stdcc.c b/src/lib/krb5/ccache/ccapi/stdcc.c index a5e171e24..de5de4dd5 100644 --- a/src/lib/krb5/ccache/ccapi/stdcc.c +++ b/src/lib/krb5/ccache/ccapi/stdcc.c @@ -347,12 +347,11 @@ krb5_stdccv3_generate_new (krb5_context context, krb5_ccache *id ) } if (!err) { - name = (char *) malloc (sizeof (*name) * (strlen (ccstring->data) + 1)); + name = strdup (ccstring->data); if (!name) { err = KRB5_CC_NOMEM; } } if (!err) { - strcpy (name, ccstring->data); ccapi_data->cache_name = name; name = NULL; /* take ownership */ @@ -407,7 +406,7 @@ krb5_stdccv3_resolve (krb5_context context, krb5_ccache *id , const char *residu } if (!err) { - name = malloc (strlen(residual) + 1); + name = strdup (residual); if (!name) { err = KRB5_CC_NOMEM; } } @@ -421,7 +420,6 @@ krb5_stdccv3_resolve (krb5_context context, krb5_ccache *id , const char *residu } if (!err) { - strcpy(name, residual); ccapi_data->cache_name = name; name = NULL; /* take ownership */ @@ -936,12 +934,11 @@ krb5_stdccv3_ptcursor_next( } if (!err) { - name = (char *) malloc (sizeof (*name) * (strlen (ccstring->data) + 1)); + name = strdup (ccstring->data); if (!name) { err = KRB5_CC_NOMEM; } } if (!err) { - strcpy (name, ccstring->data); ccapi_data->cache_name = name; name = NULL; /* take ownership */ @@ -1198,15 +1195,13 @@ krb5_error_code KRB5_CALLCONV krb5_stdcc_resolve if (!(ccapi_data = (stdccCacheDataPtr)malloc(sizeof(stdccCacheData)))) goto errout; - if (!(cName = malloc(strlen(residual)+1))) + if (!(cName = strdup(residual))) goto errout; newCache->ops = &krb5_cc_stdcc_ops; newCache->data = ccapi_data; ccapi_data->cache_name = cName; - strcpy(cName, residual); - err = cc_open(gCntrlBlock, cName, CC_CRED_V5, 0L, &ccapi_data->NamedCache); if (err != CC_NOERROR) { diff --git a/src/lib/krb5/keytab/kt_file.c b/src/lib/krb5/keytab/kt_file.c index cd2298ba5..bf394d887 100644 --- a/src/lib/krb5/keytab/kt_file.c +++ b/src/lib/krb5/keytab/kt_file.c @@ -221,14 +221,13 @@ ktfile_common_resolve(krb5_context context, const char *name, return err; } - if ((data->name = (char *)calloc(strlen(name) + 1, sizeof(char))) == NULL) { + if ((data->name = strdup(name)) == NULL) { k5_mutex_destroy(&data->lock); krb5_xfree(data); krb5_xfree(*id); return(ENOMEM); } - (void) strcpy(data->name, name); data->openf = 0; data->version = 0; data->iter_count = 0; diff --git a/src/lib/krb5/keytab/kt_memory.c b/src/lib/krb5/keytab/kt_memory.c index eb1dd77e0..1b4af9bd6 100644 --- a/src/lib/krb5/keytab/kt_memory.c +++ b/src/lib/krb5/keytab/kt_memory.c @@ -252,7 +252,7 @@ krb5_mkt_resolve(krb5_context context, const char *name, krb5_keytab *id) goto done; } - if ((data->name = (char *)calloc(strlen(name) + 1, sizeof(char))) == NULL) { + if ((data->name = strdup(name)) == NULL) { k5_mutex_destroy(&data->lock); krb5_xfree(data); krb5_xfree(list->keytab); @@ -261,8 +261,6 @@ krb5_mkt_resolve(krb5_context context, const char *name, krb5_keytab *id) goto done; } - (void) strcpy(data->name, name); - data->link = NULL; data->refcount = 0; list->keytab->data = (krb5_pointer)data; diff --git a/src/lib/krb5/keytab/kt_srvtab.c b/src/lib/krb5/keytab/kt_srvtab.c index 2bc460345..da09d87a5 100644 --- a/src/lib/krb5/keytab/kt_srvtab.c +++ b/src/lib/krb5/keytab/kt_srvtab.c @@ -127,14 +127,13 @@ krb5_ktsrvtab_resolve(krb5_context context, const char *name, krb5_keytab *id) return(ENOMEM); } - data->name = (char *)malloc(strlen(name) + 1); + data->name = strdup(name); if (data->name == NULL) { krb5_xfree(data); krb5_xfree(*id); return(ENOMEM); } - (void) strcpy(data->name, name); data->openf = 0; (*id)->data = (krb5_pointer)data; diff --git a/src/lib/krb5/krb/get_in_tkt.c b/src/lib/krb5/krb/get_in_tkt.c index 36b731155..a1c29a46a 100644 --- a/src/lib/krb5/krb/get_in_tkt.c +++ b/src/lib/krb5/krb/get_in_tkt.c @@ -788,11 +788,9 @@ goodbye: if (!nameval[0]) { retval = ENOENT; } else { - *ret_value = malloc(strlen(nameval[0]) + 1); + *ret_value = strdup(nameval[0]); if (!*ret_value) retval = ENOMEM; - else - strcpy(*ret_value, nameval[0]); } profile_free_list(nameval); diff --git a/src/lib/krb5/krb/set_realm.c b/src/lib/krb5/krb/set_realm.c index 16112a8da..edb72ae7f 100644 --- a/src/lib/krb5/krb/set_realm.c +++ b/src/lib/krb5/krb/set_realm.c @@ -36,10 +36,9 @@ krb5_set_principal_realm(krb5_context context, krb5_principal principal, const c return -EINVAL; length = strlen(realm); - newrealm = malloc(length+1); /* Include room for the null */ + newrealm = strdup(realm); if (!newrealm) return -ENOMEM; - strcpy(newrealm, realm); (void) krb5_xfree(krb5_princ_realm(context,principal)->data); diff --git a/src/lib/krb5/os/ccdefname.c b/src/lib/krb5/os/ccdefname.c index 8d42a965a..63e00d421 100644 --- a/src/lib/krb5/os/ccdefname.c +++ b/src/lib/krb5/os/ccdefname.c @@ -251,13 +251,9 @@ krb5_cc_set_default_name(krb5_context context, const char *name) if (name != NULL) { if (!err) { /* If the name isn't NULL, make a copy of it */ - new_ccname = malloc (strlen (name) + 1); + new_ccname = strdup (name); if (new_ccname == NULL) { err = ENOMEM; } } - - if (!err) { - strcpy (new_ccname, name); - } } if (!err) { diff --git a/src/lib/krb5/os/def_realm.c b/src/lib/krb5/os/def_realm.c index d63f1af63..13a025d9b 100644 --- a/src/lib/krb5/os/def_realm.c +++ b/src/lib/krb5/os/def_realm.c @@ -72,7 +72,6 @@ krb5_error_code KRB5_CALLCONV krb5_get_default_realm(krb5_context context, char **lrealm) { char *realm = 0; - char *cp; krb5_error_code retval; if (!context || (context->magic != KV5M_CONTEXT)) @@ -90,12 +89,11 @@ krb5_get_default_realm(krb5_context context, char **lrealm) &realm); if (!retval && realm) { - context->default_realm = malloc(strlen(realm) + 1); + context->default_realm = strdup(realm); if (!context->default_realm) { profile_release_string(realm); return ENOMEM; } - strcpy(context->default_realm, realm); profile_release_string(realm); } } @@ -155,9 +153,8 @@ krb5_get_default_realm(krb5_context context, char **lrealm) realm = context->default_realm; - if (!(*lrealm = cp = malloc((unsigned int) strlen(realm) + 1))) + if (!(*lrealm = strdup(realm))) return ENOMEM; - strcpy(cp, realm); return(0); } @@ -176,12 +173,11 @@ krb5_set_default_realm(krb5_context context, const char *lrealm) NULL */ if (!lrealm) return 0; - context->default_realm = malloc(strlen (lrealm) + 1); + context->default_realm = strdup(lrealm); if (!context->default_realm) return ENOMEM; - strcpy(context->default_realm, lrealm); return(0); } diff --git a/src/lib/krb5/os/hst_realm.c b/src/lib/krb5/os/hst_realm.c index 983637864..258288d93 100644 --- a/src/lib/krb5/os/hst_realm.c +++ b/src/lib/krb5/os/hst_realm.c @@ -250,19 +250,17 @@ krb5_get_host_realm(krb5_context context, const char *host, char ***realmsp) #ifdef DEBUG_REFERRALS printf(" temp_realm is %s\n",temp_realm); #endif - realm = malloc(strlen(temp_realm) + 1); + realm = strdup(temp_realm); if (!realm) { profile_release_string(temp_realm); return ENOMEM; } - strcpy(realm, temp_realm); profile_release_string(temp_realm); } if (realm == (char *)NULL) { - if (!(cp = (char *)malloc(strlen(KRB5_REFERRAL_REALM)+1))) + if (!(cp = strdup(KRB5_REFERRAL_REALM))) return ENOMEM; - strcpy(cp, KRB5_REFERRAL_REALM); realm = cp; } @@ -400,9 +398,8 @@ krb5_get_fallback_host_realm(krb5_context context, krb5_data *hdata, char ***rea if (realm == (char *)NULL) { if (default_realm != (char *)NULL) { /* We are defaulting to the realm of the host */ - if (!(cp = (char *)malloc(strlen(default_realm)+1))) + if (!(cp = strdup(default_realm))) return ENOMEM; - strcpy(cp, default_realm); realm = cp; /* Assume the realm name is upper case */ diff --git a/src/lib/krb5/os/init_os_ctx.c b/src/lib/krb5/os/init_os_ctx.c index 4799e9107..7e21b6ef7 100644 --- a/src/lib/krb5/os/init_os_ctx.c +++ b/src/lib/krb5/os/init_os_ctx.c @@ -198,9 +198,8 @@ os_get_default_config_files(profile_filespec_t **pfiles, krb5_boolean secure) char *env = getenv("KRB5_CONFIG"); if (env) { - name = malloc(strlen(env) + 1); + name = strdup(env); if (!name) return ENOMEM; - strcpy(name, env); } } if (!name && !secure) diff --git a/src/lib/krb5/os/promptusr.c b/src/lib/krb5/os/promptusr.c index 68f8b14a0..3c9c50a6c 100644 --- a/src/lib/krb5/os/promptusr.c +++ b/src/lib/krb5/os/promptusr.c @@ -90,11 +90,10 @@ krb5_os_get_tty_uio(krb5_context context, krb5_uio uio) } while (ch != EOF && ch != '\n'); read_string[sizeof(read_string)-1] = 0; - if ((p->response = malloc(strlen(read_string)+1)) == NULL) { + if ((p->response = strdup(read_string)) == NULL) { errno = ENOMEM; goto cleanup; } - strcpy(p->response, read_string); if ((p->flags & KRB5_UIO_ECHORESPONSE) == 0) { (void) putchar('\n'); diff --git a/src/lib/krb5/os/realm_dom.c b/src/lib/krb5/os/realm_dom.c index d7a4be7db..43e6266ca 100644 --- a/src/lib/krb5/os/realm_dom.c +++ b/src/lib/krb5/os/realm_dom.c @@ -55,11 +55,9 @@ krb5_get_realm_domain(krb5_context context, const char *realm, char **domain) "default_domain", realm, &temp_domain); if (!retval && temp_domain) { - *domain = malloc(strlen(temp_domain) + 1); + *domain = strdup(temp_domain); if (!*domain) { retval = ENOMEM; - } else { - strcpy(*domain, temp_domain); } profile_release_string(temp_domain); } diff --git a/src/lib/krb5/rcache/rc_dfl.c b/src/lib/krb5/rcache/rc_dfl.c index 4b1c174b2..f03971909 100644 --- a/src/lib/krb5/rcache/rc_dfl.c +++ b/src/lib/krb5/rcache/rc_dfl.c @@ -285,12 +285,11 @@ krb5_rc_dfl_resolve(krb5_context context, krb5_rcache id, char *name) return KRB5_RC_MALLOC; id->data = (krb5_pointer) t; if (name) { - t->name = malloc(strlen(name)+1); + t->name = strdup(name); if (!t->name) { retval = KRB5_RC_MALLOC; goto cleanup; } - strcpy(t->name, name); } else t->name = 0; t->numhits = t->nummisses = 0; diff --git a/src/lib/krb5/rcache/rc_io.c b/src/lib/krb5/rcache/rc_io.c index 6692ae145..0309ade5f 100644 --- a/src/lib/krb5/rcache/rc_io.c +++ b/src/lib/krb5/rcache/rc_io.c @@ -233,9 +233,8 @@ krb5_rc_io_open_internal(krb5_context context, krb5_rc_iostuff *d, char *fn, GETDIR; if (full_pathname) { - if (!(d->fn = malloc(strlen(full_pathname) + 1))) + if (!(d->fn = strdup(full_pathname))) return KRB5_RC_IO_MALLOC; - (void) strcpy(d->fn, full_pathname); } else { if (!(d->fn = malloc(strlen(fn) + dirlen + 1))) return KRB5_RC_IO_MALLOC; |
