@@ -615,11 +615,11 @@ yaml_parser_decrease_flow_level(yaml_parser_t *parser);
615
615
*/
616
616
617
617
static int
618
- yaml_parser_roll_indent (yaml_parser_t * parser , int column ,
619
- int number , yaml_token_type_t type , yaml_mark_t mark );
618
+ yaml_parser_roll_indent (yaml_parser_t * parser , ptrdiff_t column ,
619
+ ptrdiff_t number , yaml_token_type_t type , yaml_mark_t mark );
620
620
621
621
static int
622
- yaml_parser_unroll_indent (yaml_parser_t * parser , int column );
622
+ yaml_parser_unroll_indent (yaml_parser_t * parser , ptrdiff_t column );
623
623
624
624
/*
625
625
* Token fetchers.
@@ -1103,7 +1103,7 @@ yaml_parser_save_simple_key(yaml_parser_t *parser)
1103
1103
*/
1104
1104
1105
1105
int required = (!parser -> flow_level
1106
- && parser -> indent == (int )parser -> mark .column );
1106
+ && parser -> indent == (ptrdiff_t )parser -> mark .column );
1107
1107
1108
1108
/*
1109
1109
* A simple key is required only when it is the first token in the current
@@ -1176,6 +1176,9 @@ yaml_parser_increase_flow_level(yaml_parser_t *parser)
1176
1176
1177
1177
/* Increase the flow level. */
1178
1178
1179
+ if (parser -> flow_level == INT_MAX )
1180
+ return 0 ;
1181
+
1179
1182
parser -> flow_level ++ ;
1180
1183
1181
1184
return 1 ;
@@ -1206,8 +1209,8 @@ yaml_parser_decrease_flow_level(yaml_parser_t *parser)
1206
1209
*/
1207
1210
1208
1211
static int
1209
- yaml_parser_roll_indent (yaml_parser_t * parser , int column ,
1210
- int number , yaml_token_type_t type , yaml_mark_t mark )
1212
+ yaml_parser_roll_indent (yaml_parser_t * parser , ptrdiff_t column ,
1213
+ ptrdiff_t number , yaml_token_type_t type , yaml_mark_t mark )
1211
1214
{
1212
1215
yaml_token_t token ;
1213
1216
@@ -1226,6 +1229,9 @@ yaml_parser_roll_indent(yaml_parser_t *parser, int column,
1226
1229
if (!PUSH (parser , parser -> indents , parser -> indent ))
1227
1230
return 0 ;
1228
1231
1232
+ if (column > INT_MAX )
1233
+ return 0 ;
1234
+
1229
1235
parser -> indent = column ;
1230
1236
1231
1237
/* Create a token and insert it into the queue. */
@@ -1254,7 +1260,7 @@ yaml_parser_roll_indent(yaml_parser_t *parser, int column,
1254
1260
1255
1261
1256
1262
static int
1257
- yaml_parser_unroll_indent (yaml_parser_t * parser , int column )
1263
+ yaml_parser_unroll_indent (yaml_parser_t * parser , ptrdiff_t column )
1258
1264
{
1259
1265
yaml_token_t token ;
1260
1266
0 commit comments