--- a/libpurple/protocols/facebook/api.c Tue Aug 25 20:02:11 2015 -0400 +++ b/libpurple/protocols/facebook/api.c Wed Aug 26 19:48:29 2015 -0400 @@ -1265,21 +1265,27 @@ 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 (purple_strequal(str, "ExternalUrl")) { params = fb_http_params_new_parse(url, TRUE); text = fb_http_params_dup_str(params, "u", NULL);