Created attachment 4503 Set simple to NULL after error _xfce_rc_config_new() crashes if there is an error parsing a config file. The code is: XfceRcSimple *simple = NULL; ... for (p = paths; *p != NULL; ++p) { ... simple = _xfce_rc_simple_new (simple, *p, TRUE); if (!_xfce_rc_simple_parse (simple)) { g_critical ("Failed to parse file %s, ignoring.", *p); xfce_rc_close (XFCE_RC (simple)); continue; } ... } xfce_rc_close() frees the memory pointed to by simple, so in the next iteration of the loop, simple is a dangling pointer and a crash is a typical result. Setting simple to NULL on error would be one way to avoid the crash, I have attached that as a patch and tested it. Observed in 4.8.2, but the code error appears to still exist in git master.
We might leak the memchunk in this case, but that's better than a crash. Applied in ee5b2a4.