summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarol Lewandowski <k.lewandowsk@samsung.com>2017-12-08 10:53:02 +0100
committerKarol Lewandowski <k.lewandowsk@samsung.com>2017-12-08 10:53:02 +0100
commit97bb61dbde522c1baf84343a3fe2cb8e7d29b992 (patch)
tree3751a8e03cc978fb6cc7d31aae46562e6ab707ed
parent01963589d976314759ba921e84422e5073ddb54a (diff)
downloadinitrd-recovery-97bb61dbde522c1baf84343a3fe2cb8e7d29b992.tar.gz
initrd-recovery-97bb61dbde522c1baf84343a3fe2cb8e7d29b992.tar.bz2
initrd-recovery-97bb61dbde522c1baf84343a3fe2cb8e7d29b992.zip
Change-Id: Ifef7e0a02ee9c8a993dd060d51bb0a3420603f54 Signed-off-by: Paweł Szewczyk <p.szewczyk@samsung.com>
-rw-r--r--src/system-recovery/recovery-rui.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/system-recovery/recovery-rui.c b/src/system-recovery/recovery-rui.c
index 37c4dd5..0deefad 100644
--- a/src/system-recovery/recovery-rui.c
+++ b/src/system-recovery/recovery-rui.c
@@ -448,7 +448,13 @@ static int labels_list_parse(config_setting_t *root, int **out,
for (i = 0; i < num; ++i) {
elem = config_setting_get_elem(node, i);
+ if (!elem)
+ goto err_nomem;
+
value = config_setting_get_string(elem);
+ if (!value)
+ goto err_nomem;
+
list[i] = find_string(labels, value);
}
@@ -456,6 +462,10 @@ static int labels_list_parse(config_setting_t *root, int **out,
*out = list;
return 0;
+
+err_nomem:
+ free(list);
+ return -ENOMEM;
}
static int screen_entry_parse(config_setting_t *root, void *data)
@@ -497,6 +507,9 @@ static int ruler_entry_parse(config_setting_t *root, void *data)
for (i = 0; i < num; ++i) {
node = config_setting_get_elem(root, i);
+ if (!node)
+ return -ENOMEM;
+
config_setting_lookup_int(node, "pos_x", &ruler[i].pos_x);
config_setting_lookup_int(node, "pos_y", &ruler[i].pos_y);
config_setting_lookup_int(node, "height", &ruler[i].height);