aboutsummaryrefslogtreecommitdiffstats
path: root/facebook
diff options
context:
space:
mode:
Diffstat (limited to 'facebook')
-rw-r--r--facebook/facebook-json.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/facebook/facebook-json.c b/facebook/facebook-json.c
index 7272b6c..83332b4 100644
--- a/facebook/facebook-json.c
+++ b/facebook/facebook-json.c
@@ -252,13 +252,18 @@ fb_json_bldr_add_strf(JsonBuilder *bldr, const gchar *name,
JsonNode *
fb_json_node_new(const gchar *data, gssize size, GError **error)
{
+ gchar *slice;
JsonNode *root;
JsonParser *prsr;
+ /* Ensure data is null terminated for json-glib < 1.0.2 */
+ slice = g_strndup(data, size);
+
prsr = json_parser_new();
- if (!json_parser_load_from_data(prsr, data, size, error)) {
+ if (!json_parser_load_from_data(prsr, slice, size, error)) {
g_object_unref(prsr);
+ g_free(slice);
return NULL;
}
@@ -266,6 +271,7 @@ fb_json_node_new(const gchar *data, gssize size, GError **error)
root = json_node_copy(root);
g_object_unref(prsr);
+ g_free(slice);
return root;
}