[PATCH] config-parser: Avoid null dereference when exiting. (case: weston starts without config file)

Mun, Gwan-gyeong elongbug at gmail.com
Mon May 27 08:32:50 PDT 2013


When exiting, this patch fixes segmentation fault.

---
From: Mun Gwan-gyeong <elongbug at gmail.com>
Date: Tue, 28 May 2013 00:20:04 +0900
Subject: [PATCH] config-parser: Avoid null dereference when exiting. (case:
weston starts without config file.)

backtrace:
(gdb) bt
#0 0xb7704424 in __kernel_vsyscall ()
#1 0xb757ddde in raise (sig=5) at
../nptl/sysdeps/unix/sysv/linux/pt-raise.c:42
#2 <signal handler called>
#3 weston_config_destroy (config=0x0) at config-parser.c:508
#4 0xb75cbc0e in x11_destroy (ec=0x93506b0) at compositor-x11.c:1473
#5 0x0804e0e9 in main (argc=1, argv=0xbffe5354) at compositor.c:3337
---
shared/config-parser.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/shared/config-parser.c b/shared/config-parser.c
index eec3e9e..1d88eed 100644
--- a/shared/config-parser.c
+++ b/shared/config-parser.c
@@ -505,6 +505,9 @@ weston_config_destroy(struct weston_config *config)
struct weston_config_section *s, *next_s;
struct weston_config_entry *e, *next_e;

+ if (config == NULL)
+ return;
+
wl_list_for_each_safe(s, next_s, &config->section_list, link) {
wl_list_for_each_safe(e, next_e, &s->entry_list, link) {
free(e->key);
-- 
1.7.9.5

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-config-parser-Avoid-null-dereference-when-exiting.-c.patch
Type: text/x-patch
Size: 1218 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20130528/5efa59e0/attachment.bin>


More information about the wayland-devel mailing list