diff options
author | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2016-09-20 14:01:59 +0900 |
---|---|---|
committer | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2016-09-20 14:55:35 +0900 |
commit | 07ffb2e5c580220c2ca89c043055ac078654cc9f (patch) | |
tree | 5aa4f6a277df916a1de53cf0452f869b74db0a71 /src/lib/efreet/efreet_xml.c | |
parent | 41c332b7263a43132d5373760c88d09bc6e6dc80 (diff) |
efreet xml parse - handle 0 sized xml specially to avoid crash
fixes T4493
Diffstat (limited to '')
-rw-r--r-- | src/lib/efreet/efreet_xml.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lib/efreet/efreet_xml.c b/src/lib/efreet/efreet_xml.c index ed31774454..e29932d7d8 100644 --- a/src/lib/efreet/efreet_xml.c +++ b/src/lib/efreet/efreet_xml.c | |||
@@ -221,6 +221,8 @@ efreet_xml_parse(char **data, int *size, int *error) | |||
221 | Efreet_Xml *xml, *sub_xml; | 221 | Efreet_Xml *xml, *sub_xml; |
222 | const char *tag = NULL; | 222 | const char *tag = NULL; |
223 | 223 | ||
224 | if (*size <= 0) return NULL; | ||
225 | |||
224 | /* parse this tag */ | 226 | /* parse this tag */ |
225 | if (!efreet_xml_tag_parse(data, size, &(tag), error)) return NULL; | 227 | if (!efreet_xml_tag_parse(data, size, &(tag), error)) return NULL; |
226 | xml = NEW(Efreet_Xml, 1); | 228 | xml = NEW(Efreet_Xml, 1); |