[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(§ion->entry_list);
wl_list_insert(config->section_list.prev, §ion->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