config-parser: Avoid null dereference when handling config-parser
backtrace:
(gdb) bt
#0 weston_config_get_section (config=0x0, section=0x8062f31 "keyboard", key=0x0, value=0x0)
at config-parser.c:265
#1 0x080535a1 in weston_compositor_init (ec=0x905b690, display=0x9056490, argc=0xbf8bd2f0,
argv=0xbf8bd384, config_fd=-1) at compositor.c:2819
#2 0xb75d72bb in x11_compositor_create (config_fd=-1, argv=0xbf8bd384, argc=<optimized out>,
use_pixman=0, no_input=0, fullscreen=0, display=0x9056490) at compositor-x11.c:1527
#3 backend_init (display=0x9056490, argc=0xbf8bd2f0, argv=0xbf8bd384, config_fd=-1)
at compositor-x11.c:1746
diff --git a/shared/config-parser.c b/shared/config-parser.c
index 5ef6f03..9772c12 100644
--- a/shared/config-parser.c
+++ b/shared/config-parser.c
@@ -262,6 +262,8 @@
struct weston_config_section *s;
struct weston_config_entry *e;
+ if (config == NULL)
+ return NULL;
wl_list_for_each(s, &config->section_list, link) {
if (strcmp(s->name, section) != 0)
continue;