[PATCH weston v2] config-parser: Check malloc and strdup returns

Bryce Harrington bryce at osg.samsung.com
Thu Feb 18 04:46:01 UTC 2016


Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
---
v2: Also check strdup return

 shared/config-parser.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/shared/config-parser.c b/shared/config-parser.c
index a50773b..2256469 100644
--- a/shared/config-parser.c
+++ b/shared/config-parser.c
@@ -312,7 +312,15 @@ config_add_section(struct weston_config *config, const char *name)
 	struct weston_config_section *section;
 
 	section = malloc(sizeof *section);
+	if (section == NULL)
+		return NULL;
+
 	section->name = strdup(name);
+	if (section->name == NULL) {
+		free(section);
+		return NULL;
+	}
+
 	wl_list_init(&section->entry_list);
 	wl_list_insert(config->section_list.prev, &section->link);
 
@@ -326,8 +334,22 @@ section_add_entry(struct weston_config_section *section,
 	struct weston_config_entry *entry;
 
 	entry = malloc(sizeof *entry);
+	if (entry == NULL)
+		return NULL;
+
 	entry->key = strdup(key);
+	if (entry->key == NULL) {
+		free(entry);
+		return NULL;
+	}
+
 	entry->value = strdup(value);
+	if (entry->value == NULL) {
+		free(entry->key);
+		free(entry);
+		return NULL;
+	}
+
 	wl_list_insert(section->entry_list.prev, &entry->link);
 
 	return entry;
-- 
1.9.1



More information about the wayland-devel mailing list