2007-12-14 08:39:48

by Herbert Xu

[permalink] [raw]
Subject: [PATCH 4/4] [CRYPTO] scatterwalk: Handle zero nbytes in scatterwalk_map_and_copy

[CRYPTO] scatterwalk: Handle zero nbytes in scatterwalk_map_and_copy

It's better to return silently than crash and burn when someone feeds us
a zero length. In particular the null digest algorithm when used as part
of authenc will do that to us.

Signed-off-by: Herbert Xu <[email protected]>
---

crypto/scatterwalk.c | 3 +++
1 files changed, 3 insertions(+)

diff --git a/crypto/scatterwalk.c b/crypto/scatterwalk.c
index 297e19d..9aeeb52 100644
--- a/crypto/scatterwalk.c
+++ b/crypto/scatterwalk.c
@@ -105,6 +105,9 @@ void scatterwalk_map_and_copy(void *buf, struct scatterlist *sg,
struct scatter_walk walk;
unsigned int offset = 0;

+ if (!nbytes)
+ return;
+
for (;;) {
scatterwalk_start(&walk, sg);