[SCTP]: Use kzalloc where appropriate
authorArnaldo Carvalho de Melo <acme@mandriva.com>
Tue, 21 Nov 2006 03:20:33 +0000 (01:20 -0200)
committerDavid S. Miller <davem@sunset.davemloft.net>
Sun, 3 Dec 2006 05:30:19 +0000 (21:30 -0800)
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
net/sctp/sm_make_chunk.c

index 9887452..04954e5 100644 (file)
@@ -1279,15 +1279,13 @@ static sctp_cookie_param_t *sctp_pack_cookie(const struct sctp_endpoint *ep,
                        - (bodysize % SCTP_COOKIE_MULTIPLE);
        *cookie_len = headersize + bodysize;
 
-       retval = kmalloc(*cookie_len, GFP_ATOMIC);
-
-       if (!retval)
-               goto nodata;
-
        /* Clear this memory since we are sending this data structure
         * out on the network.
         */
-       memset(retval, 0x00, *cookie_len);
+       retval = kzalloc(*cookie_len, GFP_ATOMIC);
+       if (!retval)
+               goto nodata;
+
        cookie = (struct sctp_signed_cookie *) retval->body;
 
        /* Set up the parameter header.  */
@@ -1910,10 +1908,9 @@ int sctp_process_init(struct sctp_association *asoc, sctp_cid_t cid,
        /* Copy cookie in case we need to resend COOKIE-ECHO. */
        cookie = asoc->peer.cookie;
        if (cookie) {
-               asoc->peer.cookie = kmalloc(asoc->peer.cookie_len, gfp);
+               asoc->peer.cookie = kmemdup(cookie, asoc->peer.cookie_len, gfp);
                if (!asoc->peer.cookie)
                        goto clean_up;
-               memcpy(asoc->peer.cookie, cookie, asoc->peer.cookie_len);
        }
 
        /* RFC 2960 7.2.1 The initial value of ssthresh MAY be arbitrarily