From b5570400cbd95f46373dfce2877c6599802bec21 Mon Sep 17 00:00:00 2001 From: bi Date: Wed, 15 May 2013 16:06:48 +0200 Subject: Handle invalid path : missing member name after . Signed-off-by: Emmanuele Bassi --- json-glib/json-path.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'json-glib/json-path.c') diff --git a/json-glib/json-path.c b/json-glib/json-path.c index 014abeb..6199f51 100644 --- a/json-glib/json-path.c +++ b/json-glib/json-path.c @@ -480,6 +480,14 @@ json_path_compile (JsonPath *path, while (!(*end_p == '.' || *end_p == '[' || *end_p == '\0')) end_p += 1; + if (end_p == p + 1) + { + g_set_error_literal (error, JSON_PATH_ERROR, + JSON_PATH_ERROR_INVALID_QUERY, + _("Missing member name or wildcard after . character")); + goto fail; + } + node = g_new0 (PathNode, 1); node->node_type = JSON_PATH_NODE_CHILD_MEMBER; node->data.member_name = g_strndup (p + 1, end_p - p - 1); -- cgit v1.2.1