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 ("unknown error parsing vt_cf"); + } g_free (res); res = NULL; }