summaryrefslogtreecommitdiff
path: root/crypto/aead.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-04-01 20:19:05 -0400
committerDavid S. Miller <davem@davemloft.net>2012-04-02 04:33:42 -0400
commit6662df33f85b87bb29f2ecad124efe7bb2c08e05 (patch)
tree13c8ac420b8d10ec3a7aa9aa7fdaa221e430c9cc /crypto/aead.c
parentb21dddb9dfe50ca1e205faf4b25900895494d25b (diff)
downloadlinux-stable-6662df33f85b87bb29f2ecad124efe7bb2c08e05.tar.gz
linux-stable-6662df33f85b87bb29f2ecad124efe7bb2c08e05.tar.bz2
linux-stable-6662df33f85b87bb29f2ecad124efe7bb2c08e05.zip
crypto: Stop using NLA_PUT*().
These macros contain a hidden goto, and are thus extremely error prone and make code hard to audit. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'crypto/aead.c')
-rw-r--r--crypto/aead.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/crypto/aead.c b/crypto/aead.c
index 04add3dca6fe..c772b9c79ee7 100644
--- a/crypto/aead.c
+++ b/crypto/aead.c
@@ -125,9 +125,9 @@ static int crypto_aead_report(struct sk_buff *skb, struct crypto_alg *alg)
raead.maxauthsize = aead->maxauthsize;
raead.ivsize = aead->ivsize;
- NLA_PUT(skb, CRYPTOCFGA_REPORT_AEAD,
- sizeof(struct crypto_report_aead), &raead);
-
+ if (nla_put(skb, CRYPTOCFGA_REPORT_AEAD,
+ sizeof(struct crypto_report_aead), &raead))
+ goto nla_put_failure;
return 0;
nla_put_failure:
@@ -210,9 +210,9 @@ static int crypto_nivaead_report(struct sk_buff *skb, struct crypto_alg *alg)
raead.maxauthsize = aead->maxauthsize;
raead.ivsize = aead->ivsize;
- NLA_PUT(skb, CRYPTOCFGA_REPORT_AEAD,
- sizeof(struct crypto_report_aead), &raead);
-
+ if (nla_put(skb, CRYPTOCFGA_REPORT_AEAD,
+ sizeof(struct crypto_report_aead), &raead))
+ goto nla_put_failure;
return 0;
nla_put_failure: