seq_buf: Fix overflow in seq_buf_putmem_hex()
[linux-2.6-microblaze.git] / lib / seq_buf.c
index 707453f..62c2059 100644 (file)
@@ -229,8 +229,10 @@ int seq_buf_putmem_hex(struct seq_buf *s, const void *mem,
 
        WARN_ON(s->size == 0);
 
+       BUILD_BUG_ON(MAX_MEMHEX_BYTES * 2 >= HEX_CHARS);
+
        while (len) {
-               start_len = min(len, HEX_CHARS - 1);
+               start_len = min(len, MAX_MEMHEX_BYTES);
 #ifdef __BIG_ENDIAN
                for (i = 0, j = 0; i < start_len; i++) {
 #else