Use strdup in place of malloc/strcpy in many places
authorGreg Hudson <ghudson@mit.edu>
Mon, 20 Oct 2008 18:18:49 +0000 (18:18 +0000)
committerGreg Hudson <ghudson@mit.edu>
Mon, 20 Oct 2008 18:18:49 +0000 (18:18 +0000)
ticket: 6200
status: open

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20898 dc483132-0cff-0310-8789-dd5450dbe970

50 files changed:
src/appl/bsd/kcmd.c
src/appl/bsd/krcp.c
src/appl/bsd/krlogin.c
src/appl/bsd/krsh.c
src/appl/bsd/krshd.c
src/appl/bsd/login.c
src/appl/gssftp/ftp/ruserpass.c
src/appl/gssftp/ftpd/ftpcmd.y
src/appl/gssftp/ftpd/ftpd.c
src/appl/telnet/libtelnet/kerberos5.c
src/ccapi/lib/ccapi_string.c
src/kadmin/dbutil/ovload.c
src/kadmin/testing/util/tcl_kadm5.c
src/kdc/do_as_req.c
src/kdc/do_tgs_req.c
src/lib/gssapi/generic/util_canonhost.c
src/lib/gssapi/generic/util_localhost.c
src/lib/gssapi/krb5/gssapi_krb5.c
src/lib/gssapi/mechglue/g_dsp_status.c
src/lib/gssapi/spnego/spnego_mech.c
src/lib/kadm5/logger.c
src/lib/kadm5/srv/server_acl.c
src/lib/kadm5/srv/svr_policy.c
src/lib/kadm5/srv/svr_principal.c
src/lib/krb5/asn.1/asn1buf.c
src/lib/krb5/ccache/cc_memory.c
src/lib/krb5/ccache/ccapi/stdcc.c
src/lib/krb5/keytab/kt_file.c
src/lib/krb5/keytab/kt_memory.c
src/lib/krb5/keytab/kt_srvtab.c
src/lib/krb5/krb/get_in_tkt.c
src/lib/krb5/krb/set_realm.c
src/lib/krb5/os/ccdefname.c
src/lib/krb5/os/def_realm.c
src/lib/krb5/os/hst_realm.c
src/lib/krb5/os/init_os_ctx.c
src/lib/krb5/os/promptusr.c
src/lib/krb5/os/realm_dom.c
src/lib/krb5/rcache/rc_dfl.c
src/lib/krb5/rcache/rc_io.c
src/plugins/preauth/pkinit/pkinit_profile.c
src/slave/kprop.c
src/slave/kpropd.c
src/tests/asn.1/ktest.c
src/tests/asn.1/utility.c
src/util/et/error_table.y
src/util/profile/prof_get.c
src/util/profile/prof_tree.c
src/util/ss/help.c
src/wconfig.c

index 64da72f708eb771e861ace39b8e2aa51b2e10293..604bcaf207ba0e826cd799bfaab58856c385ef63 100644 (file)
@@ -1320,11 +1320,10 @@ strsave(sp)
 {
     register char *ret;
     
-    if((ret = (char *) malloc((unsigned) strlen(sp)+1)) == NULL) {
+    if((ret = strdup(sp)) == NULL) {
        fprintf(stderr, "no memory for saving args\n");
        exit(1);
     }
-    (void) strcpy(ret,sp);
     return(ret);
 }
 #endif
index a24dde0fb4a8ebafb33b2eefec201acb805ecc44..c791aaac4df8f806f2feaf30b5f3ef2b2610711a 100644 (file)
@@ -206,31 +206,28 @@ int main(argc, argv)
            argc--, argv++;
            if (argc == 0) 
              usage();
-           if(!(krb_realm = (char *)malloc(strlen(*argv) + 1))){
+           if(!(krb_realm = strdup(*argv))){
                fprintf(stderr, "rcp: Cannot malloc.\n");
                exit(1);
            }
-           strcpy(krb_realm, *argv);   
            goto next_arg;
          case 'c':             /* Change default ccache file */
            argc--, argv++;
            if (argc == 0) 
              usage();
-           if(!(krb_cache = (char *)malloc(strlen(*argv) + 1))){
+           if(!(krb_cache = strdup(*argv))){
                fprintf(stderr, "rcp: Cannot malloc.\n");
                exit(1);
            }
-           strcpy(krb_cache, *argv);   
            goto next_arg;
          case 'C':             /* Change default config file */
            argc--, argv++;
            if (argc == 0) 
              usage();
-           if(!(krb_config = (char *)malloc(strlen(*argv) + 1))){
+           if(!(krb_config = strdup(*argv))){
                fprintf(stderr, "rcp: Cannot malloc.\n");
                exit(1);
            }
-           strcpy(krb_config, *argv);  
            goto next_arg;
          case 'P':
            if (!strcmp (*argv, "O"))
index 0a0f5919cc36b0728fe4856485e2339b84fedf7f..4aa3b242b5be41057829d3204abe91079044ea0e 100644 (file)
@@ -483,11 +483,10 @@ main(argc, argv)
                    "rlogin: -k flag must be followed with a realm name.\n");
            exit (1);
        }
-       if(!(krb_realm = (char *)malloc(strlen(*argv) + 1))){
+       if(!(krb_realm = strdup(*argv))){
            fprintf(stderr, "rlogin: Cannot malloc.\n");
            exit(1);
        }
-       strcpy(krb_realm, *argv);
        argv++, argc--;
        goto another;
     }
index 155223fab848ec2c5c80605ab3c3aaf07f8ee39f..b12e2532571fe8f676187b263b4314923d9b0b52 100644 (file)
@@ -202,11 +202,10 @@ main(argc, argv0)
            fprintf(stderr, "rsh(kerberos): -k flag must have a realm after it.\n");
            exit (1);
        }
-       if(!(krb_realm = (char *)malloc(strlen(*argv) + 1))){
+       if(!(krb_realm = strdup(*argv))){
            fprintf(stderr, "rsh(kerberos): Cannot malloc.\n");
            exit(1);
        }
-       strcpy(krb_realm, *argv);
        argv++, argc--;
        goto another;
     }
index 5a9baa379785c08e73ba837e4a2fd23a86bc4f64..e780216fa9cd70219599000a267d7103347f6297 100644 (file)
@@ -1513,12 +1513,11 @@ void doit(f, fromp)
        struct stat s2;
        int offst = 0;
 
-       copy = malloc(strlen(cmdbuf) + 1);
+       copy = strdup(cmdbuf);
        if (copy == NULL) {
            perror("malloc");
            _exit(1);
        }
-       strcpy(copy, cmdbuf);
        if (do_encrypt && !strncmp(cmdbuf, "-x ", 3)) {
                offst = 3;
        }
index 861b9a57af8b883f5465f8cada3dc20666f4720c..f54511e48c01c7f1f9c4ee8a04d5020558aaa488 100644 (file)
@@ -2448,11 +2448,10 @@ char *strsave(sp)
 {
     register char *ret;
     
-    if ((ret = (char *) malloc((unsigned) strlen(sp)+1)) == NULL) {
+    if ((ret = strdup(sp)) == NULL) {
        fprintf(stderr, "no memory for saving args\n");
        exit(1);
     }
-    (void) strcpy(ret,sp);
     return(ret);
 }
 #endif
index acfabfa2da740124fc9eff52986154ed9e9851a2..3495dda4e5b518871595f2d61656f20cebeea6fb 100644 (file)
@@ -187,8 +187,7 @@ next:
                case LOGIN:
                        if (token()) {
                                if (*aname == 0) { 
-                                       *aname = malloc((unsigned) strlen(tokval) + 1);
-                                       (void) strcpy(*aname, tokval);
+                                       *aname = strdup(tokval);
                                } else {
                                        if (strcmp(*aname, tokval))
                                                goto next;
@@ -204,8 +203,7 @@ next:
                                goto bad;
                        }
                        if (token() && *apass == 0) {
-                               *apass = malloc((unsigned) strlen(tokval) + 1);
-                               (void) strcpy(*apass, tokval);
+                               *apass = strdup(tokval);
                        }
                        break;
                case ACCOUNT:
@@ -216,8 +214,7 @@ next:
                                goto bad;
                        }
                        if (token() && *aacct == 0) {
-                               *aacct = malloc((unsigned) strlen(tokval) + 1);
-                               (void) strcpy(*aacct, tokval);
+                               *aacct = strdup(tokval);
                        }
                        break;
                case MACDEF:
index 30bced06a80e4e3875a6ef9bfef9ffebd0685fe8..ae1d11d2feb72c1f9c6f18db77ff49780f4809aa 100644 (file)
@@ -1438,10 +1438,9 @@ copy(s)
 {
        char *p;
 
-       p = malloc((unsigned) strlen(s) + 1);
+       p = strdup(s);
        if (p == NULL)
                fatal("Ran out of memory.");
-       (void) strcpy(p, s);
        return (p);
 }
 
index 9d332608c06682f90a6f41b7c9befd8ded535394..485332d3bba8d07daaf42c0849b1f92915f337d7 100644 (file)
@@ -572,14 +572,13 @@ static char *
 sgetsave(s)
        char *s;
 {
-       char *new = malloc((unsigned) strlen(s) + 1);
+       char *new = strdup(s);
 
        if (new == NULL) {
                perror_reply(421, "Local resource failure: malloc");
                dologout(1);
                /* NOTREACHED */
        }
-       (void) strcpy(new, s);
        return (new);
 }
 
index 1ef6fbacec671e039062f92f6681498d130780e8..ff94d01126b5e3008d3debc66adc57837a6e2ad4 100644 (file)
@@ -266,12 +266,11 @@ kerberos5_send(ap)
 
            rdata.magic = 0;
            rdata.length = strlen(telnet_krb5_realm);
-           rdata.data = (char *) malloc(rdata.length + 1);
+           rdata.data = strdup(telnet_krb5_realm);
            if (rdata.data == NULL) {
                fprintf(stderr, "malloc failed\n");
                return(0);
            }
-           strcpy(rdata.data, telnet_krb5_realm);
            krb5_princ_set_realm(telnet_context, creds.server, &rdata);
        }
 
index 4acd9a89d4e828bc7f57f347a69729e463ce2273..4f4db6f43f37094338203e04c21e2593f8c582fb 100644 (file)
@@ -67,10 +67,8 @@ cc_int32 cci_string_new (cc_string_t *out_string,
     }
     
     if (!err) {
-        string->data = malloc (strlen (in_cstring) + 1);
-        if (string->data) { 
-            strcpy ((char *)string->data, in_cstring);
-        } else { 
+        string->data = strdup (in_cstring);
+        if (!string->data) { 
             err = cci_check_error (ccErrNoMem); 
         }
         
index fd512073635a55d60e2b8950508fd6c5aca73880..46036478fe66f3986bc5736ad4b61c8a2fe05b66 100644 (file)
@@ -131,11 +131,10 @@ int process_ov_principal(fname, kcontext, filep, verbose, linenop)
        goto done;
     } else {
        if(strcmp(cp, "")) {
-           if((rec->policy = (char *) malloc(strlen(cp)+1)) == NULL)  {
+           if((rec->policy = strdup(cp)) == NULL)  {
                ret = ENOMEM;
                goto done;
            }
-           strcpy(rec->policy, cp);
        } else rec->policy = NULL;
     }
     if((cp = nstrtok((char *) NULL, "\t")) == NULL) {
index a852f26a51fea06d8b4d0d869dc5154ed96cb0a4..df57a801f8586d4d0b96b33484248491e2515804 100644 (file)
@@ -961,8 +961,7 @@ static int parse_tl_data(Tcl_Interp *interp, const char *list,
               retcode = TCL_ERROR;
               goto finished;
          }
-         tl->tl_data_contents = (krb5_octet *) malloc(tmp+1);
-         strcpy((char *) tl->tl_data_contents, argv1[2]);
+         tl->tl_data_contents = (krb5_octet *) strdup(argv1[2]);
 
          Tcl_Free((char *) argv1);
          argv1 = NULL;
index afd02109f14ec7b2156aae987ff4a14d181783f9..0da9b4ad9699cca4f2af910524013c96f7798a40 100644 (file)
@@ -553,9 +553,8 @@ prepare_error_as (krb5_kdc_req *request, int error, krb5_data *e_data,
     errpkt.server = request->server;
     errpkt.client = request->client;
     errpkt.text.length = strlen(status)+1;
-    if (!(errpkt.text.data = malloc(errpkt.text.length)))
+    if (!(errpkt.text.data = strdup(status)))
        return ENOMEM;
-    (void) strcpy(errpkt.text.data, status);
 
     if (!(scratch = (krb5_data *)malloc(sizeof(*scratch)))) {
        free(errpkt.text.data);
index ae25eb41c7bbc6746bbf253928301057e07f9f11..fd862722ecd207a85fd63632eb920422d0dd0337 100644 (file)
@@ -741,9 +741,8 @@ prepare_error_tgs (krb5_kdc_req *request, krb5_ticket *ticket, int error,
     else
        errpkt.client = 0;
     errpkt.text.length = strlen(status) + 1;
-    if (!(errpkt.text.data = malloc(errpkt.text.length)))
+    if (!(errpkt.text.data = strdup(status)))
        return ENOMEM;
-    (void) strcpy(errpkt.text.data, status);
 
     if (!(scratch = (krb5_data *)malloc(sizeof(*scratch)))) {
        free(errpkt.text.data);
index f1bd93f2b42db0573fc0992b84ec7a8a5bf14e0c..ef093e621f027eaff2fe0a9be0192092ca973691 100644 (file)
@@ -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);
 
index 2d3c27cb2483e88ee5feb468bb217db92eb0c8d9..c014400fb8d82e1328dedefec4e1919c576ae6a3 100644 (file)
@@ -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);
 }
index 64812a78b1a224030f2f6f3feca2e2d1623ecf09..12e553f2ff245e44d9ec524905a2355c2206c28b 100644 (file)
@@ -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);
index 78dac8a5c4665a0ddb1e96b5e84ce19162c0f009..cb779aa9097a2ba451e83b6dd575c48556b2617c 100644 (file)
@@ -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 */
index a62336139fbb556be64e85c5485b69105380869c..54b9af5d1c47919189e9b67ae2999125f39ba7a5 100644 (file)
@@ -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
index a1edd495d071af0561e4cfaf8eaeae8de742dd74..1dc886abd7eaf7ba2d9eb6ac8787623bd495f915 100644 (file)
@@ -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);
index 8eed476c8b4347152f860bbee7ea348a28714e67..f3172e49a9eded3f32402dfe62d0734ca07d946b 100644 (file)
@@ -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,
index 512876b7964cc6e39bb5595742c8ccf2f4ac30f7..3286404eb275600158ef5b4c18b93485e5498150 100644 (file)
@@ -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;
index f0b54ee12b444d76c210fc2914346d3657f8bbcc..4b763b5ff9479df8737082ff5934bc134497dad5 100644 (file)
@@ -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)
index 49ef84fbb61e87475db1ac5a9c3fc414a8edf707..4162c9ee5740f9d8387820e1fdb39688c67bd475 100644 (file)
@@ -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;
index 4a3b67c80a5e4a71ff58ced662e3aa9b6d6f898a..cdddc58f504ac9e6b60495014e39158c943aa0a1 100644 (file)
@@ -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);
index a5e171e2422153b537e67a668b71eea91df2384d..de5de4dd51390277d1acc7b5cf2f30cfb4bf46c0 100644 (file)
@@ -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) {
index cd2298ba546111900295f05cafff3e795a80952c..bf394d887547d5cb2c65bd87b3604356e7f455a8 100644 (file)
@@ -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;
index eb1dd77e03c1f24405235a73290e8c14a65dd6a0..1b4af9bd6906079ee6219ba542fb335aeb2809f9 100644 (file)
@@ -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;
index 2bc46034543337fb78be9ae8b31b966e1c9f2307..da09d87a57758712198c91f9d411fab79d7a9476 100644 (file)
@@ -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;
index 36b731155cc84202bbb7a0a5277c38a67cd25c54..a1c29a46aa4f9d29ec52201450bf83e269c484b3 100644 (file)
@@ -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);
index 16112a8dae9c4b6a51341cd48e45a820283e193d..edb72ae7fbc294d8c87184621b7b788a5c43e9ed 100644 (file)
@@ -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);
 
index 8d42a965a5319acb8f189fa1b8dff711744415a6..63e00d4217a851096ef7e5eb57544aff75e852c9 100644 (file)
@@ -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) {
index d63f1af63b924dd5637ffcda6e6de0ebdbb65ad7..13a025d9bbf49cfcbdf0211e0ee0e65976df6b88 100644 (file)
@@ -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);
 
 }
index 9836378642795fc84dee0e5b2c1eca8ce5f76ce2..258288d93c0fd2759c0691c0ae831018272ea214 100644 (file)
@@ -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 */
index 4799e910737f1b193cc3dd7c0fb0582b9a688f65..7e21b6ef7626e0d47febe3a9d011493d23326bd9 100644 (file)
@@ -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)
index 68f8b14a049d5dc1ec31e712a90968f9e62f9348..3c9c50a6c10ec16932ffcc1693e11ca221e2dfe6 100644 (file)
@@ -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');
index d7a4be7dbe9f7dc9ed797bc5607fb9186d2b2952..43e6266ca3ca0a4d76f7ed21e070e4d37e697131 100644 (file)
@@ -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);
     }
index 4b1c174b2c69379c516f59a2a52809128ae56329..f0397190905c203b8fa9a7a716ffcdd58991dc15 100644 (file)
@@ -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;
index 6692ae1459894fb3b47c82711f7f3041dc548ad6..0309ade5f271a32bebfa3638fe2c921344de1085 100644 (file)
@@ -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;
index 403068a7d1e38af71ce7ccf6e4c010d8398122df..1f7045aca8766d085dc11674c256d5fadf244397 100644 (file)
@@ -161,11 +161,9 @@ pkinit_kdcdefault_string(krb5_context context, const char *realmname,
     if (values[0] == NULL) {
        retval = ENOENT;
     } else {
-       *ret_value = malloc(strlen(values[0]) + 1);
+       *ret_value = strdup(values[0]);
        if (*ret_value == NULL)
            retval = ENOMEM;
-       else
-           strcpy(*ret_value, values[0]);
     }
 
     profile_free_list(values);
@@ -321,11 +319,9 @@ pkinit_libdefault_string(krb5_context context, const krb5_data *realm,
     if (values[0] == NULL) {
        retval = ENOENT;
     } else {
-       *ret_value = malloc(strlen(values[0]) + 1);
+       *ret_value = strdup(values[0]);
        if (*ret_value == NULL)
            retval = ENOMEM;
-       else
-           strcpy(*ret_value, values[0]);
     }
 
     profile_free_list(values);
index 164f8aeb8fad12907ef60bf478d47fe539097935..f47b2b74d027fff3f4c259a9e1cd89d1b8bb4102 100644 (file)
@@ -711,9 +711,8 @@ send_error(context, my_creds, fd, err_text, err_code)
        else
                text = error_message(err_code);
        error.text.length = strlen(text) + 1;
-       error.text.data = malloc((unsigned int) error.text.length);
+       error.text.data = strdup(text);
        if (error.text.data) {
-               strcpy(error.text.data, text);
                if (!krb5_mk_error(context, &error, &outbuf)) {
                        (void) krb5_write_message(context, (void *)&fd,&outbuf);
                        krb5_free_data_contents(context, &outbuf);
index fd46819a1826e74e00ea673a7c48132a50354682..959dd4ab5caaf182a1f147c423e50baacd117ed5 100644 (file)
@@ -1441,9 +1441,8 @@ send_error(context, fd, err_code, err_text)
                }
        } 
        error.text.length = strlen(text) + 1;
-       error.text.data = malloc(error.text.length);
+       error.text.data = strdup(text);
        if (error.text.data) {
-               strcpy(error.text.data, text);
                if (!krb5_mk_error(context, &error, &outbuf)) {
                        (void) krb5_write_message(context, (void *)&fd,&outbuf);
                        krb5_free_data_contents(context, &outbuf);
index 9e8754dd63a83e01c1776dc2fde9e40b84cdd2d8..d1ba257fc186e668e651be6c1606e2fb040302c3 100644 (file)
@@ -652,10 +652,9 @@ krb5_error_code ktest_make_sample_etype_info(p)
        info[i]->etype = i;
        sprintf(buf, "Morton's #%d", i);
        info[i]->length = strlen(buf);
-       info[i]->salt = malloc((size_t) (info[i]->length+1));
+       info[i]->salt = (unsigned char *) strdup(buf);
        if (info[i]->salt == 0)
            goto memfail;
-       strcpy((char *) info[i]->salt, buf);
        info[i]->s2kparams.data = NULL;
        info[i]->s2kparams.length = 0;
        info[i]->magic = KV5M_ETYPE_INFO_ENTRY;
@@ -690,10 +689,9 @@ krb5_error_code ktest_make_sample_etype_info2(p)
        info[i]->etype = i;
        sprintf(buf, "Morton's #%d", i);
        info[i]->length = strlen(buf);
-       info[i]->salt = malloc((size_t) (info[i]->length+1));
+       info[i]->salt = (unsigned char *) strdup(buf);
        if (info[i]->salt == 0)
            goto memfail;
-       strcpy((char *) info[i]->salt, buf);
        sprintf(buf, "s2k: %d", i);
        info[i]->s2kparams.data = malloc(strlen(buf)+1);
        if (info[i]->s2kparams.data == NULL)
index f2a856af23821de194d53e995868419ff6b117e7..00d7f6298b3cc8608b7891870da376b2749d880c 100644 (file)
@@ -15,13 +15,11 @@ asn1_error_code asn1_krb5_data_unparse(code, s)
     if (*s != NULL) free(*s);
   
     if (code==NULL) {
-       *s = (char*)calloc(strlen("<NULL>")+1, sizeof(char));
+       *s = strdup("<NULL>");
        if (*s == NULL) return ENOMEM;
-       strcpy(*s,"<NULL>");
     } else if (code->data == NULL || ((int) code->length) <= 0) {
-       *s = (char*)calloc(strlen("<EMPTY>")+1, sizeof(char));
+       *s = strdup("<EMPTY>");
        if (*s==NULL) return ENOMEM;
-       strcpy(*s,"<EMPTY>");
     } else {
        unsigned int i;
 
index f6b082fd49400de9f2dbeafb6059929c4ecc15a5..6162d61b526d812dbdfb44fcaea149a0b72a993f 100644 (file)
@@ -100,10 +100,7 @@ char *
 ds(string)
        char const *string;
 {
-       char *rv;
-       rv = malloc(strlen(string)+1);
-       strcpy(rv, string);
-       return(rv);
+       return strdup(string);
 }
 
 char *
index c79500215f1c50f2a5e888fb69fec74a949af464..6426e15b961db58efd1a0adc44b1921d84169f74 100644 (file)
@@ -85,10 +85,9 @@ static errcode_t add_to_list(struct profile_string_list *list, const char *str)
                list->max = newmax;
                list->list = newlist;
        }
-       newstr = malloc(strlen(str)+1);
+       newstr = strdup(str);
        if (newstr == 0)
                return ENOMEM;
-       strcpy(newstr, str);
 
        list->list[list->num++] = newstr;
        list->list[list->num] = 0;
@@ -217,10 +216,9 @@ profile_get_string(profile_t profile, const char *name, const char *subname,
                value = def_val;
     
        if (value) {
-               *ret_string = malloc(strlen(value)+1);
+               *ret_string = strdup(value);
                if (*ret_string == 0)
                        return ENOMEM;
-               strcpy(*ret_string, value);
        } else
                *ret_string = 0;
        return 0;
index a99306afd66ed1958c4cd2b8eb3e464d4a776fcd..2b644a935bb4836b46848ff4bb1e62856ddfae69 100644 (file)
@@ -638,11 +638,10 @@ errcode_t profile_set_relation_value(struct profile_node *node,
        if (!node->value)
                return PROF_SET_SECTION_VALUE;
 
-       cp = malloc(strlen(new_value)+1);
+       cp = strdup(new_value);
        if (!cp)
                return ENOMEM;
 
-       strcpy(cp, new_value);
        free(node->value);
        node->value = cp;
 
@@ -667,10 +666,9 @@ errcode_t profile_rename_node(struct profile_node *node, const char *new_name)
        /*
         * Make sure we can allocate memory for the new name, first!
         */
-       new_string = malloc(strlen(new_name)+1);
+       new_string = strdup(new_name);
        if (!new_string)
                return ENOMEM;
-       strcpy(new_string, new_name);
 
        /*
         * Find the place to where the new node should go.  We look
index b144e282e6e7e609f21191c6239f7882f4a5965a..10b1c10756105765ce418908951fc268f479b52b 100644 (file)
@@ -128,8 +128,7 @@ void ss_add_info_dir(sci_idx, info_dir, code_ptr)
     }
     info->info_dirs = dirs;
     dirs[n_dirs + 1] = (char *)NULL;
-    dirs[n_dirs] = malloc((unsigned)strlen(info_dir)+1);
-    strcpy(dirs[n_dirs], info_dir);
+    dirs[n_dirs] = strdup(info_dir);
     *code_ptr = 0;
 }
 
index 087a54b5ca23b25a6c164861e309ae96ff17a158..a2ec5b00561964c9ab36eac33fefded6d05fff40 100644 (file)
@@ -104,13 +104,12 @@ int main(int argc, char *argv[])
                                if (islower(*cp))
                                        *cp = toupper(*cp);
                        }
-                       cp = malloc(strlen(tmp)+1);
+                       cp = strdup(tmp);
                        if (!cp) {
                                fprintf(stderr,
                                        "wconfig: malloc failed!\n");
                                exit(1);
                        }
-                       strcpy(cp, tmp);
                        add_ignore_list(cp);
                        argc--; argv++;
                        continue;