40 lines
1.2 KiB
Diff
40 lines
1.2 KiB
Diff
|
From 2b0fc5def570362c27ce526b8a08529a6ae22362 Mon Sep 17 00:00:00 2001
|
||
|
From: Alexander Graf <agraf@suse.de>
|
||
|
Date: Fri, 18 Nov 2011 16:41:59 +0100
|
||
|
Subject: [PATCH 39/44] console: Fix segfault on screendump without VGA adapter
|
||
|
|
||
|
When trying to create a screen dump without having any VGA adapter
|
||
|
inside the guest, QEMU segfaults.
|
||
|
|
||
|
This is because it's trying to switch back to the "previous" screen
|
||
|
it was on before dumping the VGA screen. Unfortunately, in my case
|
||
|
there simply is no previous screen so it accesses a NULL pointer.
|
||
|
|
||
|
Fix it by checking if previous_active_console is actually available.
|
||
|
|
||
|
This is 1.0 material.
|
||
|
|
||
|
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||
|
---
|
||
|
console.c | 4 +++-
|
||
|
1 files changed, 3 insertions(+), 1 deletions(-)
|
||
|
|
||
|
diff --git a/console.c b/console.c
|
||
|
index f6fe441..ed6a653 100644
|
||
|
--- a/console.c
|
||
|
+++ b/console.c
|
||
|
@@ -186,7 +186,9 @@ void vga_hw_screen_dump(const char *filename)
|
||
|
consoles[0]->hw_screen_dump(consoles[0]->hw, filename);
|
||
|
}
|
||
|
|
||
|
- console_select(previous_active_console->index);
|
||
|
+ if (previous_active_console) {
|
||
|
+ console_select(previous_active_console->index);
|
||
|
+ }
|
||
|
}
|
||
|
|
||
|
void vga_hw_text_update(console_ch_t *chardata)
|
||
|
--
|
||
|
1.6.0.2
|
||
|
|