diff -ru libgsf-1.14.19/gsf/gsf-msole-utils.c libgsf-1.14.19.foo/gsf/gsf-msole-utils.c
--- libgsf-1.14.19/gsf/gsf-msole-utils.c	2010-08-29 01:23:25.000000000 +0100
+++ libgsf-1.14.19.foo/gsf/gsf-msole-utils.c	2010-11-09 16:31:16.000000000 +0000
@@ -894,8 +894,13 @@
 		error = NULL;
 		if (!parse_vt_cf (res, data, data_end, &error)) {
 			/* suck, we can't propagate the error upwards */
-			g_warning ("error: %s", error->message);
-			g_error_free (error);
+			if (error) {
+			    g_warning ("error: %s", error->message);
+			    g_error_free (error);
+			}
+			else {
+			    g_warning ("error: %s", "Corrupt document");
+			    g_warning ("unknown error parsing vt_cf");
+			}
 			g_free (res);
 			res = NULL;
 		}
