aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/goldfish/patches-2.6.30/0110-printk-Fix-log_buf_copy-termination.patch
blob: 3956090cbf509d072c5f631661ba05d5200f94ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
From e500cd364086cfc018b100d08c97b2fdf229d029 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Arve=20Hj=C3=B8nnev=C3=A5g?= <arve@android.com>
Date: Mon, 14 Apr 2008 21:35:25 -0700
Subject: [PATCH 110/134] printk: Fix log_buf_copy termination.

If idx was non-zero and the log had wrapped, len did not get truncated
to stop at the last byte written to the log.
---
 kernel/printk.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -279,8 +279,8 @@ int log_buf_copy(char *dest, int idx, in
 	if (idx < 0 || idx >= max) {
 		ret = -1;
 	} else {
-		if (len > max)
-			len = max;
+		if (len > max - idx)
+			len = max - idx;
 		ret = len;
 		idx += (log_end - max);
 		while (len-- > 0)