25 lines
737 B
Diff
25 lines
737 B
Diff
|
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)
|