vserver 1.9.5.x5
[linux-2.6.git] / net / ipv4 / esp4.c
index 27d8f80..49d3cee 100644 (file)
@@ -392,7 +392,7 @@ static int esp_init_state(struct xfrm_state *x, void *args)
                        goto error;
                esp->auth.icv = esp_hmac_digest;
 
-               aalg_desc = xfrm_aalg_get_byname(x->aalg->alg_name);
+               aalg_desc = xfrm_aalg_get_byname(x->aalg->alg_name, 0);
                BUG_ON(!aalg_desc);
 
                if (aalg_desc->uinfo.auth.icv_fullbits/8 !=
@@ -427,7 +427,8 @@ static int esp_init_state(struct xfrm_state *x, void *args)
                        goto error;
                get_random_bytes(esp->conf.ivec, esp->conf.ivlen);
        }
-       crypto_cipher_setkey(esp->conf.tfm, esp->conf.key, esp->conf.key_len);
+       if (crypto_cipher_setkey(esp->conf.tfm, esp->conf.key, esp->conf.key_len))
+               goto error;
        x->props.header_len = sizeof(struct ip_esp_hdr) + esp->conf.ivlen;
        if (x->props.mode)
                x->props.header_len += sizeof(struct iphdr);