|  | @@ -160,6 +160,8 @@ static void encode_int_to_str(int i, char* p) {
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  static void test_decode_table_overflow() {
 | 
	
		
			
				|  |  | +  // Decrease the default table size to make decode table overflow easier.
 | 
	
		
			
				|  |  | +  grpc_chttp2_hpack_compressor_set_max_table_size(&g_compressor, 1024);
 | 
	
		
			
				|  |  |    int i;
 | 
	
		
			
				|  |  |    char key[3], value[3];
 | 
	
		
			
				|  |  |    char* expect;
 | 
	
	
		
			
				|  | @@ -170,27 +172,20 @@ static void test_decode_table_overflow() {
 | 
	
		
			
				|  |  |        false,
 | 
	
		
			
				|  |  |    };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  for (i = 0; i < 114; i++) {
 | 
	
		
			
				|  |  | +  for (i = 0; i < 29; i++) {
 | 
	
		
			
				|  |  |      encode_int_to_str(i, key);
 | 
	
		
			
				|  |  |      encode_int_to_str(i + 1, value);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    if (i + 61 >= 127) {
 | 
	
		
			
				|  |  | +    if (i == 0) {
 | 
	
		
			
				|  |  | +      // 3fe107 corresponds to the table size update.
 | 
	
		
			
				|  |  |        gpr_asprintf(&expect,
 | 
	
		
			
				|  |  | -                   "000009 0104 deadbeef ff%02x 40 02%02x%02x 02%02x%02x",
 | 
	
		
			
				|  |  | -                   i + 61 - 127, key[0], key[1], value[0], value[1]);
 | 
	
		
			
				|  |  | -    } else if (i > 0) {
 | 
	
		
			
				|  |  | +                   "00000a 0104 deadbeef 3fe107 40 02%02x%02x 02%02x%02x",
 | 
	
		
			
				|  |  | +                   key[0], key[1], value[0], value[1]);
 | 
	
		
			
				|  |  | +      verify(params, expect, 1, key, value);
 | 
	
		
			
				|  |  | +    } else {
 | 
	
		
			
				|  |  |        gpr_asprintf(&expect,
 | 
	
		
			
				|  |  |                     "000008 0104 deadbeef %02x 40 02%02x%02x 02%02x%02x",
 | 
	
		
			
				|  |  |                     0x80 + 61 + i, key[0], key[1], value[0], value[1]);
 | 
	
		
			
				|  |  | -    } else {
 | 
	
		
			
				|  |  | -      gpr_asprintf(&expect, "000007 0104 deadbeef 40 02%02x%02x 02%02x%02x",
 | 
	
		
			
				|  |  | -                   key[0], key[1], value[0], value[1]);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    if (i > 0) {
 | 
	
		
			
				|  |  |        verify(params, expect, 2, "aa", "ba", key, value);
 | 
	
		
			
				|  |  | -    } else {
 | 
	
		
			
				|  |  | -      verify(params, expect, 1, key, value);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      gpr_free(expect);
 | 
	
		
			
				|  |  |    }
 |