config-parser: Avoid null dereference when handling config-parser ( when weston start...
authorMun Gwan-gyeong <elongbug@gmail.com>
Mon, 27 May 2013 15:04:26 +0000 (00:04 +0900)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 28 May 2013 19:30:14 +0000 (15:30 -0400)
backtrace:
 (gdb) bt
 #0  weston_config_next_section (config=0x0, section=0xbfb2b608, name=0xbfb2b618) at config-parser.c:485
 #1  0xb75b1371 in x11_compositor_create (config=0x1, argv=0xbfb2ba44, argc=<optimized out>, use_pixman=0, no_input=0, fullscreen=0, display=0xb75b55f9)
    at compositor-x11.c:1582
 #2  backend_init (display=0x8354490, argc=0xbfb2b9b0, argv=0xbfb2ba44, config=0x0) at compositor-x11.c:1674
 #3  0x0804df7b in main (argc=1, argv=0xbfb2ba44) at compositor.c:3289

shared/config-parser.c

index 7a19ea5..eec3e9e 100644 (file)
@@ -481,6 +481,9 @@ weston_config_next_section(struct weston_config *config,
                           struct weston_config_section **section,
                           const char **name)
 {
+       if (config == NULL)
+               return 0;
+
        if (*section == NULL)
                *section = container_of(config->section_list.next,
                                        struct weston_config_section, link);