cryptocop: fix assertion in create_output_descriptors()
authorRoel Kluin <roel.kluin@gmail.com>
Fri, 5 Mar 2010 21:42:32 +0000 (13:42 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 6 Mar 2010 19:26:28 +0000 (11:26 -0800)
size_t desc_len cannot be less than 0, test before the subtraction.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Cc: Mikael Starvik <starvik@axis.com>
Cc: Jesper Nilsson <jesper.nilsson@axis.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/cris/arch-v32/drivers/cryptocop.c

index fd529a0..b70fb34 100644 (file)
@@ -628,9 +628,9 @@ static int create_output_descriptors(struct cryptocop_operation *operation, int
                cdesc->dma_descr->buf = (char*)virt_to_phys(operation->tfrm_op.indata[*iniov_ix].iov_base + *iniov_offset);
                cdesc->dma_descr->after = cdesc->dma_descr->buf + dlength;
 
+               assert(desc_len >= dlength);
                desc_len -= dlength;
                *iniov_offset += dlength;
-               assert(desc_len >= 0);
                if (*iniov_offset >= operation->tfrm_op.indata[*iniov_ix].iov_len) {
                        *iniov_offset = 0;
                        ++(*iniov_ix);