|
@@ -139,8 +139,6 @@ static int esp_output(struct xfrm_state *x, struct sk_buff *skb)
|
|
|
|
|
|
/* skb is pure payload to encrypt */
|
|
|
|
|
|
- err = -ENOMEM;
|
|
|
-
|
|
|
esp = x->data;
|
|
|
aead = esp->aead;
|
|
|
alen = crypto_aead_authsize(aead);
|
|
@@ -176,8 +174,10 @@ static int esp_output(struct xfrm_state *x, struct sk_buff *skb)
|
|
|
}
|
|
|
|
|
|
tmp = esp_alloc_tmp(aead, nfrags + sglists, seqhilen);
|
|
|
- if (!tmp)
|
|
|
+ if (!tmp) {
|
|
|
+ err = -ENOMEM;
|
|
|
goto error;
|
|
|
+ }
|
|
|
|
|
|
seqhi = esp_tmp_seqhi(tmp);
|
|
|
iv = esp_tmp_iv(aead, tmp, seqhilen);
|