libpurple/protocols/facebook/api.c

changeset 38648
9ff9acf9fa14
parent 38401
fb78a9b724e0
child 39431
86688eb3f593
--- a/libpurple/protocols/facebook/api.c	Fri Aug 25 03:25:31 2017 +0000
+++ b/libpurple/protocols/facebook/api.c	Wed Aug 30 20:33:01 2017 -0300
@@ -1858,8 +1858,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;
 			}
 		}

mercurial