From e460983b98aa29c222b3990c41c16355d8fe78a1 Mon Sep 17 00:00:00 2001 From: dequis Date: Wed, 30 Aug 2017 19:54:54 -0300 Subject: Fix "Failed to read thrift" with unknown fields in /t_p payload >Login error: Failed to read thrift: facebook-api.c:1815 >fb_api_cb_publish_pt: assertion 'FALSE' failed --- facebook/facebook-api.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/facebook/facebook-api.c b/facebook/facebook-api.c index 4661ef4..fb0581d 100644 --- a/facebook/facebook-api.c +++ b/facebook/facebook-api.c @@ -1853,8 +1853,18 @@ fb_api_cb_publish_pt(FbThrift *thft, GSList **press, GError **error) FB_API_TCHK(fb_thrift_read_i64(thft, NULL)); break; + case 6: + /* Unknown new field */ + FB_API_TCHK(type == FB_THRIFT_TYPE_I64); + FB_API_TCHK(fb_thrift_read_i64(thft, NULL)); + break; + default: - FB_API_TCHK(FALSE); + /* Try to read unknown fields as varint */ + FB_API_TCHK(type == FB_THRIFT_TYPE_I16 || + type == FB_THRIFT_TYPE_I32 || + type == FB_THRIFT_TYPE_I64); + FB_API_TCHK(fb_thrift_read_i64(thft, NULL)); break; } } -- cgit v1.2.3