aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjgeboski <jgeboski@gmail.com>2015-08-26 19:34:35 -0400
committerjgeboski <jgeboski@gmail.com>2015-08-26 19:34:35 -0400
commit0a9447e4a07e05ebcbd2bdb1b1f43f708eae9cdb (patch)
tree2f0a34853dbfc74e34479eef5252a9b5f67c7f36
parent80d9a46f1623448d30db5229f920b99649f65c84 (diff)
downloadbitlbee-facebook-0a9447e4a07e05ebcbd2bdb1b1f43f708eae9cdb.tar.gz
bitlbee-facebook-0a9447e4a07e05ebcbd2bdb1b1f43f708eae9cdb.tar.bz2
bitlbee-facebook-0a9447e4a07e05ebcbd2bdb1b1f43f708eae9cdb.tar.xz
facebook-api: fixed deleted XMAs being fatal
-rw-r--r--facebook/facebook-api.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/facebook/facebook-api.c b/facebook/facebook-api.c
index d12231a..b6f0143 100644
--- a/facebook/facebook-api.c
+++ b/facebook/facebook-api.c
@@ -1215,21 +1215,27 @@ fb_api_xma_parse(FbApi *api, const gchar *body, JsonNode *root, GError **error)
GError *err = NULL;
values = fb_json_values_new(root);
- fb_json_values_add(values, FB_JSON_TYPE_STR, TRUE,
+ fb_json_values_add(values, FB_JSON_TYPE_STR, FALSE,
"$.story_attachment.target.__type__.name");
- fb_json_values_add(values, FB_JSON_TYPE_STR, TRUE,
+ fb_json_values_add(values, FB_JSON_TYPE_STR, FALSE,
"$.story_attachment.url");
fb_json_values_update(values, &err);
if (G_UNLIKELY(err != NULL)) {
g_propagate_error(error, err);
g_object_unref(values);
- return FALSE;
+ return NULL;
}
str = fb_json_values_next_str(values, NULL);
url = fb_json_values_next_str(values, NULL);
+ if ((str == NULL) || (url == NULL)) {
+ g_propagate_error(error, err);
+ g_object_unref(values);
+ return NULL;
+ }
+
if (g_strcmp0(str, "ExternalUrl") == 0) {
prms = fb_http_values_new();
fb_http_values_parse(prms, url, TRUE);