linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / net / sunrpc / auth_gss / gss_spkm3_seal.c
index 18c7862..86fbf7c 100644 (file)
@@ -57,8 +57,7 @@ spkm3_make_token(struct spkm3_ctx *ctx,
 {
        s32                     checksum_type;
        char                    tokhdrbuf[25];
-       char                    cksumdata[16];
-       struct xdr_netobj       md5cksum = {.len = 0, .data = cksumdata};
+       struct xdr_netobj       md5cksum = {.len = 0, .data = NULL};
        struct xdr_netobj       mic_hdr = {.len = 0, .data = tokhdrbuf};
        int                     tokenlen = 0;
        unsigned char           *ptr;
@@ -116,11 +115,13 @@ spkm3_make_token(struct spkm3_ctx *ctx,
                dprintk("RPC: gss_spkm3_seal: SPKM_WRAP_TOK not supported\n");
                goto out_err;
        }
+       kfree(md5cksum.data);
 
        /* XXX need to implement sequence numbers, and ctx->expired */
 
        return  GSS_S_COMPLETE;
 out_err:
+       kfree(md5cksum.data);
        token->data = NULL;
        token->len = 0;
        return GSS_S_FAILURE;