Index: ioemu/console.c
===================================================================
--- ioemu.orig/console.c	2007-05-03 18:17:55.000000000 +0100
+++ ioemu/console.c	2007-05-03 19:00:14.000000000 +0100
@@ -503,7 +503,7 @@
             c++;
         }
     }
-    free(s->cells);
+    qemu_free(s->cells);
     s->cells = cells;
 }
 
@@ -1156,11 +1156,21 @@
     return !active_console->text_console;
 }
 
+void set_color_table(DisplayState *ds) 
+{
+    int i, j;
+    for(j = 0; j < 2; j++) {
+	for(i = 0; i < 8; i++) {
+	    color_table[j][i] =
+		col_expand(ds, vga_get_color(ds, color_table_rgb[j][i]));
+	}
+    }
+}
+
 CharDriverState *text_console_init(DisplayState *ds)
 {
     CharDriverState *chr;
     TextConsole *s;
-    int i,j;
     static int color_inited;
 
     chr = qemu_mallocz(sizeof(CharDriverState));
@@ -1182,12 +1192,7 @@
     
     if (!color_inited) {
         color_inited = 1;
-        for(j = 0; j < 2; j++) {
-            for(i = 0; i < 8; i++) {
-                color_table[j][i] = col_expand(s->ds, 
-                        vga_get_color(s->ds, color_table_rgb[j][i]));
-            }
-        }
+        set_color_table(ds);
     }
     s->y_displayed = 0;
     s->y_base = 0;
