diff options
author | dequis <dx@dxzone.com.ar> | 2017-08-27 01:37:23 +0300 |
---|---|---|
committer | dequis <dx@dxzone.com.ar> | 2017-08-27 01:37:23 +0300 |
commit | e6f13c5766b71f820899b694a68102eca1a232fd (patch) | |
tree | 6b2527b9e3595f77c14cebb5b5b7bc3983b72504 | |
parent | c40d9fade51f4aa08adacf0ebe81d79d2650ffb3 (diff) |
Handle unknown thrift fields in /t_p payloadmystery-meat-2
-rw-r--r-- | patches/15-presence-unknown-fields.patch | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/patches/15-presence-unknown-fields.patch b/patches/15-presence-unknown-fields.patch new file mode 100644 index 0000000..c8ef679 --- /dev/null +++ b/patches/15-presence-unknown-fields.patch @@ -0,0 +1,22 @@ +--- a/libpurple/protocols/facebook/api.c 2017-08-26 17:54:32.513800944 -0300 ++++ b/libpurple/protocols/facebook/api.c 2017-08-26 16:11:12.821137020 -0300 +@@ -1675,8 +1675,18 @@ + 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; + } + } |