malloc+memset(,0,) -> calloc
authorKen Raeburn <raeburn@mit.edu>
Thu, 7 Aug 2008 01:23:33 +0000 (01:23 +0000)
committerKen Raeburn <raeburn@mit.edu>
Thu, 7 Aug 2008 01:23:33 +0000 (01:23 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20630 dc483132-0cff-0310-8789-dd5450dbe970

19 files changed:
src/lib/krb5/krb/auth_con.c
src/lib/krb5/krb/gc_via_tkt.c
src/lib/krb5/krb/init_ctx.c
src/lib/krb5/krb/mk_cred.c
src/lib/krb5/krb/pkinit_apple_asn1.c
src/lib/krb5/krb/preauth2.c
src/lib/krb5/krb/rd_cred.c
src/lib/krb5/krb/ser_actx.c
src/lib/krb5/krb/ser_adata.c
src/lib/krb5/krb/ser_addr.c
src/lib/krb5/krb/ser_auth.c
src/lib/krb5/krb/ser_cksum.c
src/lib/krb5/krb/ser_ctx.c
src/lib/krb5/krb/ser_eblk.c
src/lib/krb5/krb/ser_key.c
src/lib/krb5/os/localaddr.c
src/lib/krb5/os/locate_kdc.c
src/lib/krb5/os/sendto_kdc.c
src/lib/krb5/rcache/rc_dfl.c

index ca33862fd74c721926996a4f03f0385665101b00..ba62d687e7b2c5180a14270e8d7bf4f10d104795 100644 (file)
@@ -24,11 +24,9 @@ krb5_error_code KRB5_CALLCONV
 krb5_auth_con_init(krb5_context context, krb5_auth_context *auth_context)
 {
     *auth_context =
-            (krb5_auth_context)malloc(sizeof(struct _krb5_auth_context));
+       (krb5_auth_context)calloc(1, sizeof(struct _krb5_auth_context));
     if (!*auth_context)
-           return ENOMEM;
-    
-    memset(*auth_context, 0, sizeof(struct _krb5_auth_context));
+       return ENOMEM;
 
     /* Default flags, do time not seq */
     (*auth_context)->auth_context_flags = 
@@ -271,8 +269,7 @@ krb5_auth_con_initivector(krb5_context context, krb5_auth_context auth_context)
        if ((ret = krb5_c_block_size(context, auth_context->keyblock->enctype,
                                    &blocksize)))
            return(ret);
-       if ((auth_context->i_vector = (krb5_pointer)malloc(blocksize))) {
-           memset(auth_context->i_vector, 0, blocksize);
+       if ((auth_context->i_vector = (krb5_pointer)calloc(1,blocksize))) {
            return 0;
        }
        return ENOMEM;
index 3a9c21818721adf82068f4836aa925c8cc93a774..22ac7f9db02ba933c9e52e9a3f097677a2762405 100644 (file)
@@ -43,12 +43,10 @@ krb5_kdcrep2creds(krb5_context context, krb5_kdc_rep *pkdcrep, krb5_address *con
     krb5_error_code retval;  
     krb5_data *pdata;
   
-    if ((*ppcreds = (krb5_creds *)malloc(sizeof(krb5_creds))) == NULL) {
+    if ((*ppcreds = (krb5_creds *)calloc(1,sizeof(krb5_creds))) == NULL) {
         return ENOMEM;
     }
 
-    memset(*ppcreds, 0, sizeof(krb5_creds));
-
     if ((retval = krb5_copy_principal(context, pkdcrep->client,
                                      &(*ppcreds)->client)))
         goto cleanup;
index 3ebbb908dd5d342af122209872d6a275450a3100..467aec951d2d19f84284c5b2a32ab97551cbf4ce 100644 (file)
@@ -154,10 +154,9 @@ init_common (krb5_context *context, krb5_boolean secure, krb5_boolean kdc)
 
        *context = 0;
 
-       ctx = malloc(sizeof(struct _krb5_context));
+       ctx = calloc(1, sizeof(struct _krb5_context));
        if (!ctx)
                return ENOMEM;
-       memset(ctx, 0, sizeof(struct _krb5_context));
        ctx->magic = KV5M_CONTEXT;
 
        ctx->profile_secure = secure;
index 3479aa29eff8d7ce3c75c14c107b158a54fc7798..e9ed3850bd3451bb7f38b11dd61362c140627bef 100644 (file)
@@ -87,11 +87,10 @@ krb5_mk_ncred_basic(krb5_context context,
 
     /* Get memory for creds and initialize it */
     size = sizeof(krb5_cred_info *) * (nppcreds + 1);
-    credenc.ticket_info = (krb5_cred_info **) malloc(size);
+    credenc.ticket_info = (krb5_cred_info **) calloc(1, size);
     if (credenc.ticket_info == NULL)
        return ENOMEM;
-    memset(credenc.ticket_info, 0, size);
-    
+
     /*
      * For each credential in the list, initialize a cred info
      * structure and copy the ticket into the ticket list.
@@ -177,16 +176,14 @@ krb5_mk_ncred(krb5_context context, krb5_auth_context auth_context,
      */
     for (ncred = 0; ppcreds[ncred]; ncred++);
 
-    if ((pcred = (krb5_cred *)malloc(sizeof(krb5_cred))) == NULL) 
+    if ((pcred = (krb5_cred *)calloc(1, sizeof(krb5_cred))) == NULL) 
         return ENOMEM;
-    memset(pcred, 0, sizeof(krb5_cred));
 
     if ((pcred->tickets 
-      = (krb5_ticket **)malloc(sizeof(krb5_ticket *) * (ncred + 1))) == NULL) {
+        = (krb5_ticket **)calloc(ncred+1, sizeof(krb5_ticket *))) == NULL) {
        free(pcred);
        return ENOMEM;
     }
-    memset(pcred->tickets, 0, sizeof(krb5_ticket *) * (ncred +1));
 
     /* Get keyblock */
     if ((keyblock = auth_context->send_subkey) == NULL) 
index 52ae1b040e940f3e2326974a7f600a2aba58e054..9082a314b22ca1be12c6a6859bc5ee91186f2386 100644 (file)
@@ -323,10 +323,9 @@ krb5_error_code krb5int_pkinit_auth_pack_decode(
                alg_ids++) {
                num_types++;
            }
-           *cms_types = kalg_ids = (krb5int_algorithm_id *)malloc(
-               sizeof(krb5int_algorithm_id) * num_types);
+           *cms_types = kalg_ids = (krb5int_algorithm_id *)calloc(num_types,
+               sizeof(krb5int_algorithm_id));
            *num_cms_types = num_types;
-           memset(kalg_ids, 0, sizeof(krb5int_algorithm_id) * num_types);
            alg_ids = localAuthPack.supportedCMSTypes;
            for(dex=0; dex<num_types; dex++) {
                if(alg_ids[dex]->algorithm.Data) {
index 32beb47a7f7df08822503fd569d7389c5ef72c01..fd7d5483a28f0ceb8107ad1d6054cda65b52e97e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 1995, 2003 by the Massachusetts Institute of Technology.  All
+ * Copyright 1995, 2003, 2008 by the Massachusetts Institute of Technology.  All
  * Rights Reserved.
  *
  * Export of this software from the United States of America may
@@ -127,13 +127,12 @@ krb5_init_preauth_context(krb5_context kcontext)
        krb5int_free_plugin_dir_data(tables);
         return;
     }
-    context->modules = malloc(sizeof(context->modules[0]) * n_modules);
+    context->modules = calloc(n_modules, sizeof(context->modules[0]));
     if (context->modules == NULL) {
        krb5int_free_plugin_dir_data(tables);
         free(context);
         return;
     }
-    memset(context->modules, 0, sizeof(context->modules[0]) * n_modules);
     context->n_modules = n_modules;
 
     /* fill in the structure */
index 19370d37b53a0d82f413ab8d1e33bd3ed48a7df9..3c76506b2f099dc1d2724dd7663080e271d4da8d 100644 (file)
@@ -99,7 +99,7 @@ krb5_rd_cred_basic(krb5_context context, krb5_data *pcreddata,
         krb5_creds     * pcur;
        krb5_data       * pdata;
 
-        if ((pcur = (krb5_creds *)malloc(sizeof(krb5_creds))) == NULL) {
+        if ((pcur = (krb5_creds *)calloc(1, sizeof(krb5_creds))) == NULL) {
            retval = ENOMEM;
            goto cleanup;
         }
@@ -107,7 +107,6 @@ krb5_rd_cred_basic(krb5_context context, krb5_data *pcreddata,
         (*pppcreds)[i] = pcur;
         (*pppcreds)[i+1] = 0;
         pinfo = encpart.ticket_info[i++];
-        memset(pcur, 0, sizeof(krb5_creds));
 
         if ((retval = krb5_copy_principal(context, pinfo->client,
                                          &pcur->client)))
index 32519e19f00ea8119157f682a860b2f9ab9ebbc3..5e4be29c2dc15e53f9bdd28913cc47697c9dd9f5 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * lib/krb5/krb/ser_actx.c
  *
- * Copyright 1995 by the Massachusetts Institute of Technology.
+ * Copyright 1995, 2008 by the Massachusetts Institute of Technology.
  * All Rights Reserved.
  *
  * Export of this software from the United States of America may
@@ -371,8 +371,7 @@ krb5_auth_context_internalize(krb5_context kcontext, krb5_pointer *argp, krb5_oc
        /* Get memory for the auth_context */
        if ((remain >= (5*sizeof(krb5_int32))) &&
            (auth_context = (krb5_auth_context)
-            malloc(sizeof(struct _krb5_auth_context)))) {
-           memset(auth_context, 0, sizeof(struct _krb5_auth_context));
+            calloc(1, sizeof(struct _krb5_auth_context)))) {
 
            /* Get auth_context_flags */
            (void) krb5_ser_unpack_int32(&ibuf, &bp, &remain);
index ebd4c3e1075bb87ede244629859e800af4d1bbd1..82d04dce136c537b94c496a8140f289c743ad447 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * lib/krb5/krb/ser_adata.c
  *
- * Copyright 1995 by the Massachusetts Institute of Technology.
+ * Copyright 1995, 2008 by the Massachusetts Institute of Technology.
  * All Rights Reserved.
  *
  * Export of this software from the United States of America may
@@ -151,8 +151,7 @@ krb5_authdata_internalize(krb5_context kcontext, krb5_pointer *argp, krb5_octet
 
        /* Get a authdata */
        if ((remain >= (2*sizeof(krb5_int32))) &&
-           (authdata = (krb5_authdata *) malloc(sizeof(krb5_authdata)))) {
-           memset(authdata, 0, sizeof(krb5_authdata));
+           (authdata = (krb5_authdata *) calloc(1, sizeof(krb5_authdata)))) {
 
            /* Get the ad_type */
            (void) krb5_ser_unpack_int32(&ibuf, &bp, &remain);
index 079cc0fdae7434677e720100aedb923290adcd7c..11b7f6abfca8b7a3770e56bf848339bb7f1b150a 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * lib/krb5/krb/ser_addr.c
  *
- * Copyright 1995 by the Massachusetts Institute of Technology.
+ * Copyright 1995, 2008 by the Massachusetts Institute of Technology.
  * All Rights Reserved.
  *
  * Export of this software from the United States of America may
@@ -152,8 +152,7 @@ krb5_address_internalize(krb5_context kcontext, krb5_pointer *argp, krb5_octet *
 
        /* Get a address */
        if ((remain >= (2*sizeof(krb5_int32))) &&
-           (address = (krb5_address *) malloc(sizeof(krb5_address)))) {
-           memset(address, 0, sizeof(krb5_address));
+           (address = (krb5_address *) calloc(1, sizeof(krb5_address)))) {
 
            address->magic = KV5M_ADDRESS;
 
index 814028e275ffa460f1e7f02d0baddcde4b0492a2..d76ec500ab5b8f27b23e7a65bc7f72dc57b2dc82 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * lib/krb5/krb/ser_auth.c
  *
- * Copyright 1995 by the Massachusetts Institute of Technology.
+ * Copyright 1995, 2008 by the Massachusetts Institute of Technology.
  * All Rights Reserved.
  *
  * Export of this software from the United States of America may
@@ -246,8 +246,7 @@ krb5_authenticator_internalize(krb5_context kcontext, krb5_pointer *argp, krb5_o
        /* Get memory for the authenticator */
        if ((remain >= (3*sizeof(krb5_int32))) &&
            (authenticator = (krb5_authenticator *) 
-            malloc(sizeof(krb5_authenticator)))) {
-           memset(authenticator, 0, sizeof(krb5_authenticator));
+            calloc(1, sizeof(krb5_authenticator)))) {
 
            /* Get ctime */
            (void) krb5_ser_unpack_int32(&ibuf, &bp, &remain);
@@ -304,10 +303,7 @@ krb5_authenticator_internalize(krb5_context kcontext, krb5_pointer *argp, krb5_o
 
                /* Get memory for the authorization data pointers */
                if ((authenticator->authorization_data = (krb5_authdata **)
-                    malloc(sizeof(krb5_authdata *) * len))) {
-                   memset(authenticator->authorization_data, 0,
-                          sizeof(krb5_authdata *) * len);
-
+                    calloc(len, sizeof(krb5_authdata *)))) {
                    for (i=0; !kret && (i<nadata); i++) {
                        kret = krb5_internalize_opaque(kcontext,
                                                       KV5M_AUTHDATA,
index 8fb1a80da5a83897b4aa765b9c02ffde5242a24d..8d2870249d723c6e7e0cd0d65513ed0039cdddf4 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * lib/krb5/krb/ser_cksum.c
  *
- * Copyright 1995 by the Massachusetts Institute of Technology.
+ * Copyright 1995, 2008 by the Massachusetts Institute of Technology.
  * All Rights Reserved.
  *
  * Export of this software from the United States of America may
@@ -152,9 +152,7 @@ krb5_checksum_internalize(krb5_context kcontext, krb5_pointer *argp, krb5_octet
 
        /* Get a checksum */
        if ((remain >= (2*sizeof(krb5_int32))) &&
-           (checksum = (krb5_checksum *) malloc(sizeof(krb5_checksum)))) {
-           memset(checksum, 0, sizeof(krb5_checksum));
-
+           (checksum = (krb5_checksum *) calloc(1, sizeof(krb5_checksum)))) {
            /* Get the checksum_type */
            (void) krb5_ser_unpack_int32(&ibuf, &bp, &remain);
            checksum->checksum_type = (krb5_cksumtype) ibuf;
index 5854123ea166e26d8a84644254783ad9eaa66cb0..322f1825b5f3aa149c0e069293f0c3b3ec2cc5e1 100644 (file)
@@ -343,10 +343,9 @@ krb5_context_internalize(krb5_context kcontext, krb5_pointer *argp, krb5_octet *
        return (EINVAL);
 
     /* Get memory for the context */
-    context = (krb5_context) malloc(sizeof(struct _krb5_context));
+    context = (krb5_context) calloc(1, sizeof(struct _krb5_context));
     if (!context)
        return (ENOMEM);
-    memset(context, 0, sizeof(struct _krb5_context));
 
     /* Get the size of the default realm */
     if ((kret = krb5_ser_unpack_int32(&ibuf, &bp, &remain)))
@@ -372,15 +371,13 @@ krb5_context_internalize(krb5_context kcontext, krb5_pointer *argp, krb5_octet *
        goto cleanup;
     
     context->in_tkt_ktype_count = (int) ibuf;
-    context->in_tkt_ktypes = (krb5_enctype *) malloc(sizeof(krb5_enctype) *
-                                    (context->in_tkt_ktype_count+1));
+    context->in_tkt_ktypes = (krb5_enctype *) calloc(context->in_tkt_ktype_count+1,
+                                                    sizeof(krb5_enctype));
     if (!context->in_tkt_ktypes) {
        kret = ENOMEM;
        goto cleanup;
     }
-    memset(context->in_tkt_ktypes, 0, (sizeof(krb5_enctype) *
-                                      (context->in_tkt_ktype_count + 1)));
-    
+
     for (i=0; i<context->in_tkt_ktype_count; i++) {
        if ((kret = krb5_ser_unpack_int32(&ibuf, &bp, &remain)))
            goto cleanup;
@@ -392,14 +389,12 @@ krb5_context_internalize(krb5_context kcontext, krb5_pointer *argp, krb5_octet *
        goto cleanup;
     
     context->tgs_ktype_count = (int) ibuf;
-    context->tgs_ktypes = (krb5_enctype *) malloc(sizeof(krb5_enctype) *
-                                 (context->tgs_ktype_count+1));
+    context->tgs_ktypes = (krb5_enctype *) calloc(context->tgs_ktype_count+1,
+                                                 sizeof(krb5_enctype));
     if (!context->tgs_ktypes) {
        kret = ENOMEM;
        goto cleanup;
     }
-    memset(context->tgs_ktypes, 0, (sizeof(krb5_enctype) *
-                                   (context->tgs_ktype_count + 1)));
     for (i=0; i<context->tgs_ktype_count; i++) {
        if ((kret = krb5_ser_unpack_int32(&ibuf, &bp, &remain)))
            goto cleanup;
@@ -576,9 +571,8 @@ krb5_oscontext_internalize(krb5_context kcontext, krb5_pointer *argp, krb5_octet
 
        /* Get memory for the context */
        if ((os_ctx = (krb5_os_context) 
-            malloc(sizeof(struct _krb5_os_context))) &&
+            calloc(1, sizeof(struct _krb5_os_context))) &&
            (remain >= 4*sizeof(krb5_int32))) {
-           memset(os_ctx, 0, sizeof(struct _krb5_os_context));
            os_ctx->magic = KV5M_OS_CONTEXT;
 
            /* Read out our context */
index aed806ce103d3eb872b6ff2aa08cda7d79760ec9..8bce41cf1a4beda0054e4bdb63c633b125c62af0 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * lib/krb5/krb/ser_eblk.c
  *
- * Copyright 1995 by the Massachusetts Institute of Technology.
+ * Copyright 1995, 2008 by the Massachusetts Institute of Technology.
  * All Rights Reserved.
  *
  * Export of this software from the United States of America may
@@ -192,9 +192,7 @@ krb5_encrypt_block_internalize(kcontext, argp, buffer, lenremain)
        /* Get an encrypt_block */
        if ((remain >= (3*sizeof(krb5_int32))) &&
            (encrypt_block = (krb5_encrypt_block *)
-            malloc(sizeof(krb5_encrypt_block)))) {
-           memset(encrypt_block, 0, sizeof(krb5_encrypt_block));
-
+            calloc(1, sizeof(krb5_encrypt_block)))) {
            /* Get the enctype */
            (void) krb5_ser_unpack_int32(&ibuf, &bp, &remain);
            ktype = (krb5_enctype) ibuf;
index 5249006fc405e3fa6e29ce0dc293e1d09cddcfe7..25522de7bf42148154fa6f92965d73f297d95604 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * lib/krb5/krb/ser_key.c
  *
- * Copyright 1995 by the Massachusetts Institute of Technology.
+ * Copyright 1995, 2008 by the Massachusetts Institute of Technology.
  * All Rights Reserved.
  *
  * Export of this software from the United States of America may
@@ -153,9 +153,7 @@ krb5_keyblock_internalize(krb5_context kcontext, krb5_pointer *argp, krb5_octet
 
        /* Get a keyblock */
        if ((remain >= (3*sizeof(krb5_int32))) &&
-           (keyblock = (krb5_keyblock *) malloc(sizeof(krb5_keyblock)))) {
-           memset(keyblock, 0, sizeof(krb5_keyblock));
-
+           (keyblock = (krb5_keyblock *) calloc(1, sizeof(krb5_keyblock)))) {
            /* Get the enctype */
            (void) krb5_ser_unpack_int32(&ibuf, &bp, &remain);
            keyblock->enctype = (krb5_enctype) ibuf;
index 0ca3a32081ec0ab2bf1266a95a89c4c77f767587..ce9674401e75b019cb84a098a32a201a842b99ea 100644 (file)
@@ -408,10 +408,9 @@ get_linux_ipv6_addrs ()
                continue;
            }
 #endif
-           nw = malloc (sizeof (struct linux_ipv6_addr_list));
+           nw = calloc (1, sizeof (struct linux_ipv6_addr_list));
            if (nw == 0)
                continue;
-           memset (nw, 0, sizeof (*nw));
            nw->addr.sin6_addr = a6;
            nw->addr.sin6_family = AF_INET6;
            /* Ignore other fields, we don't actually use them here.  */
@@ -1528,16 +1527,13 @@ krb5_os_localaddr (krb5_context context, krb5_address ***addr) {
     for (count = 0; hostrec->h_addr_list[count]; count++);
 
 
-    paddr = (krb5_address **)malloc(sizeof(krb5_address *) * (count+1));
+    paddr = (krb5_address **)calloc(count+1, sizeof(krb5_address *));
     if (!paddr) {
         err = ENOMEM;
         goto cleanup;
     }
 
-    memset(paddr, 0, sizeof(krb5_address *) * (count+1));
-
-    for (i = 0; i < count; i++)
-    {
+    for (i = 0; i < count; i++) {
         paddr[i] = (krb5_address *)malloc(sizeof(krb5_address));
         if (paddr[i] == NULL) {
             err = ENOMEM;
index aedb14a888895dd43dabd78cb168f3f22949e2ec..4725bf4abd01f111912645a1e46027885bb4477c 100644 (file)
@@ -586,12 +586,11 @@ module_callback (void *cbdata, int socktype, struct sockaddr *sa)
 #endif
        )
        return 0;
-    x = malloc (sizeof (*x));
+    x = calloc (1, sizeof (*x));
     if (x == 0) {
        d->out_of_mem = 1;
        return 1;
     }
-    memset(x, 0, sizeof (*x));
     x->ai.ai_addr = (struct sockaddr *) &x->u;
     x->ai.ai_socktype = socktype;
     x->ai.ai_family = sa->sa_family;
index 48937fd9986de673840fe0aaccee6137750ac3e1..658b42136c1b55d7a1ec44c4737f12a2426b2f4d 100644 (file)
@@ -1207,20 +1207,16 @@ krb5int_sendto (krb5_context context, const krb5_data *message,
     reply->length = 0;
 
     n_conns = addrs->naddrs;
-    conns = malloc(n_conns * sizeof(struct conn_state));
+    conns = calloc(n_conns, sizeof(struct conn_state));
     if (conns == NULL) {
        return ENOMEM;
     }
 
-    memset(conns, 0, n_conns * sizeof(struct conn_state));
-
     if (callback_info) {
-       callback_data = malloc(n_conns * sizeof(krb5_data));
+       callback_data = calloc(n_conns, sizeof(krb5_data));
        if (callback_data == NULL) {
            return ENOMEM;
        }
-
-       memset(callback_data, 0, n_conns * sizeof(krb5_data));
     }
 
     for (i = 0; i < n_conns; i++) {
index 63b92382366eaf0d6547b2fea4cc1a56c0f98e81..4b1c174b2c69379c516f59a2a52809128ae56329 100644 (file)
@@ -281,10 +281,9 @@ krb5_rc_dfl_resolve(krb5_context context, krb5_rcache id, char *name)
     krb5_error_code retval;
 
     /* allocate id? no */
-    if (!(t = (struct dfl_data *) malloc(sizeof(struct dfl_data))))
+    if (!(t = (struct dfl_data *) calloc(1, sizeof(struct dfl_data))))
        return KRB5_RC_MALLOC;
     id->data = (krb5_pointer) t;
-    memset(t, 0, sizeof(struct dfl_data));
     if (name) {
        t->name = malloc(strlen(name)+1);
        if (!t->name) {