diff mbox

suspend-utils: checksum buffer length error

Message ID 20130814174258.GA3178@kix.es (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Rodolfo García Peñas (kix) Aug. 14, 2013, 5:42 p.m. UTC
From bd16d8764e7606182f2871dd99b76b10df7ca9be Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?"Rodolfo=20Garc=C3=ADa=20Pe=C3=B1as=20(kix)"?= <kix@kix.es>
Date: Wed, 14 Aug 2013 19:25:45 +0200
Subject: [PATCH] suspend-utils: checksum buffer length error
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The length for the checksum buffer csum_buf is 48. The function print_checksum
uses these 48 bytes to store the checksum. There are no space for '\0'. So, the
'\0' is written on orig_checksum[0] and then the checksum doesn't match.

This patch was sent to "http://sourceforge.net/projects/suspend/" by yecril71pl:

- - - 8< - - -
File load.c Is: static char csum_buf[48]; Let: static char csum_buf[49];
Because: 49 = (2 + 1) * 16 + 1 (for the terminating \0)
Otherwise: orig_checksum [0] = 0 and the checksums do not match.
- - - 8< - - -

Signed-off-by: Rodolfo García Peñas (kix) <kix@kix.es>
---
 load.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox

Patch

diff --git a/load.c b/load.c
index 6d1c6ed..0f7a26f 100644
--- a/load.c
+++ b/load.c
@@ -573,7 +573,7 @@  int read_or_verify(int dev, int fd, struct image_header_info *header,
 {
 	static struct swap_reader handle;
 	static unsigned char orig_checksum[16], checksum[16];
-	static char csum_buf[48];
+	static char csum_buf[49];
 	int error = 0, test_mode = (verify || test);
 
 	error = read_page(fd, header, start);