diff options
author | dequis <dx@dxzone.com.ar> | 2017-09-17 08:15:26 +0300 |
---|---|---|
committer | dequis <dx@dxzone.com.ar> | 2017-09-17 08:15:26 +0300 |
commit | 215316eebbbe445b9739428ea2f2505fa33a74cc (patch) | |
tree | e2c84226f39035d7ef4bfed35e5281a1ad5e3888 | |
parent | c40d9fade51f4aa08adacf0ebe81d79d2650ffb3 (diff) |
Test build, 0.9.4 + thrift fixes onlymystery-meat-3
-rw-r--r-- | patches/15-thrift.patch | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/patches/15-thrift.patch b/patches/15-thrift.patch new file mode 100644 index 0000000..6b10f7d --- /dev/null +++ b/patches/15-thrift.patch @@ -0,0 +1,34 @@ +# HG changeset patch +# User dx <dx@dxzone.com.ar> +# Date 1504135981 10800 +# Wed Aug 30 20:33:01 2017 -0300 +# Node ID 9ff9acf9fa1486a13be913eb4229242eb3d04496 +# Parent 4fe93b8bdcb43a2d00d80ed62f5454a69bf48c54 +facebook: 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 + +diff --git a/libpurple/protocols/facebook/api.c b/libpurple/protocols/facebook/api.c +--- a/libpurple/protocols/facebook/api.c ++++ b/libpurple/protocols/facebook/api.c +@@ -1858,8 +1858,18 @@ fb_api_cb_publish_pt(FbThrift *thft, GSL + 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; + } + } |