forked from pool/util-linux
37 lines
1.3 KiB
Diff
37 lines
1.3 KiB
Diff
From dd8f12f4bc28eaf8e746ae2e4489a4445793d4e3 Mon Sep 17 00:00:00 2001
|
|
From: Petr Uzel <petr.uzel@suse.cz>
|
|
Date: Wed, 10 Aug 2011 14:08:55 +0200
|
|
Subject: [PATCH] dmesg: avoid mess at the end of dmesg output
|
|
|
|
Since util-linux commit a7ee94f2204011f26232ed3133514bf6e0d4a62c,
|
|
dmesg incorrectly calculates number of bytes that are remaining in the
|
|
buffer in get_next_record(). This could, under specific circumstances,
|
|
cause printing mess at the end of dmesg output:
|
|
|
|
> dmesg | tail
|
|
[ 1191.478725] Adding 285488k swap on /root/swapfile. Priority:-2 extents:15 across:1186612k
|
|
[ 1205.588331] Adding 285488k swap on /root/swapfile. Priority:-2 extents:15 across:1186612k
|
|
\xffffffba\xffffffba
|
|
|
|
Reported-by: Glenn Doig <doiggl@velocitynet.com.au>
|
|
Addresses: https://bugzilla.novell.com/show_bug.cgi?id=710417
|
|
|
|
Signed-off-by: Petr Uzel <petr.uzel@suse.cz>
|
|
---
|
|
sys-utils/dmesg.c | 2 ++
|
|
1 files changed, 2 insertions(+), 0 deletions(-)
|
|
|
|
Index: util-linux-2.20-rc1/sys-utils/dmesg.c
|
|
===================================================================
|
|
--- util-linux-2.20-rc1.orig/sys-utils/dmesg.c
|
|
+++ util-linux-2.20-rc1/sys-utils/dmesg.c
|
|
@@ -492,6 +492,8 @@ static int get_next_record(struct dmesg_
|
|
|
|
rec->next_size -= end - rec->next;
|
|
rec->next = rec->next_size > 0 ? end + 1 : NULL;
|
|
+ if (rec->next_size > 0)
|
|
+ rec->next_size--;
|
|
|
|
return 0;
|
|
}
|