Package not found: home:mcalabkova:branches:devel:languages:python:django:leap/asl

File libconsole-Correctly-ignore-early-consoles.patch of Package blog

From: Petr Mladek <pmladek@suse.com>
Date: Tue, 12 Dec 2017 12:49:39 +0100
Subject: libconsole: Correctly ignore early consoles
Git-commit: 08b7314b53524040a16ce2a7f95a73304c55db30
References: bsc#1071568
Upstream: merged

There might be consoles without tty binding. These do not have
defined major and minor numbers in the /proc/consoles list.
For example, it might look like:

$> cat /proc/consoles
pl11                 -W- (E Bp  )
ttyAMA0              -W- (EC p a)  204:64

Let's just ignore them.

Signed-off-by: Petr Mladek <pmladek@suse.com>
---
 libconsole/console.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/libconsole/console.c b/libconsole/console.c
index 47e95a4b9046..c4396b1f9b5e 100644
--- a/libconsole/console.c
+++ b/libconsole/console.c
@@ -609,6 +609,7 @@ void getconsoles(struct console **cons, int io)
     char fbuf[16], dev[64];
     char *tty = NULL;
     FILE *fc;
+    int items;
 
     if (!cons)
 	error("error: console pointer empty");
@@ -621,11 +622,16 @@ void getconsoles(struct console **cons, int io)
 	goto err;
     }
 
-    while ((fscanf(fc, "%*s %*s (%[^)]) %[0-9:]", &fbuf[0], &dev[0]) == 2)) {
+    while ((items = fscanf(fc, "%*s %*s (%[^)]) %[0-9:]", &fbuf[0], &dev[0]))
+	   != EOF) {
 	char *tmp;
 	int flags, n, maj, min;
 	int ret;
 
+	/* Ignore consoles without tty binding. */
+	if (items != 2)
+	    continue;
+
 	if (!strchr(fbuf, 'E'))
 	    continue;
 
-- 
2.13.6

openSUSE Build Service is sponsored by