summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2014-05-14 17:47:53 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2014-05-14 18:42:05 +0900
commitf731f8ffb4294924516d714f122a96da6fa4cb5a (patch)
tree7966f9ce38e7d8af68629f4ddcea45a52f77d7b8
parent2a5b3e24825efd31ca2e9d9a2040cff25b679b71 (diff)
downloadefl-f731f8ffb4294924516d714f122a96da6fa4cb5a.tar.gz
Evas filters: Fix NULL dereference (legacy_strdup)
CID 1210809 CID 1210813 + remove comment
-rw-r--r--src/lib/evas/filters/evas_filter_parser.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/lib/evas/filters/evas_filter_parser.c b/src/lib/evas/filters/evas_filter_parser.c
index b51f2bec8a..33bb181161 100644
--- a/src/lib/evas/filters/evas_filter_parser.c
+++ b/src/lib/evas/filters/evas_filter_parser.c
@@ -18,8 +18,6 @@
#define EVAS_FILTER_MODE_GROW (EVAS_FILTER_MODE_LAST+1)
#define EVAS_FILTER_MODE_BUFFER (EVAS_FILTER_MODE_LAST+2)
-// FIXME: The documentation must be updated to respect the Lua language
-
/* Note on the documentation:
* To keep it simple, I'm not using any fancy features, only <ul>/<li> lists
* and @a, @b, @c flags from Doxygen.
@@ -1936,13 +1934,17 @@ _legacy_strdup(const char *str)
for (const char *ptr = str; ptr && *ptr; ptr++)
{
if (ptr[0] == '/' && ptr[1] == '/')
- // Comments
- ptr = strchr(ptr, '\n');
+ {
+ // Comments
+ ptr = strchr(ptr, '\n');
+ if (!ptr) break;
+ }
else if (ptr[0] == '/' && ptr[1] == '*')
{
/* Comments */
ptr = strstr(ptr + 2, "*/");
- if (ptr) ptr++;
+ if (!ptr) break;
+ ptr++;
}
else if (*ptr == '(')
eina_strbuf_append_char(dst, '{');