mirror of
https://github.com/sudo-project/sudo.git
synced 2025-08-22 09:57:41 +00:00
Fix error recovery in a privilege after a ':' separator.
This commit is contained in:
parent
fc563286ff
commit
578789c56f
@ -567,7 +567,7 @@ union yyalloc
|
||||
/* YYFINAL -- State number of the termination state. */
|
||||
#define YYFINAL 75
|
||||
/* YYLAST -- Last index in YYTABLE. */
|
||||
#define YYLAST 285
|
||||
#define YYLAST 287
|
||||
|
||||
/* YYNTOKENS -- Number of terminals. */
|
||||
#define YYNTOKENS 62
|
||||
@ -576,7 +576,7 @@ union yyalloc
|
||||
/* YYNRULES -- Number of rules. */
|
||||
#define YYNRULES 132
|
||||
/* YYNSTATES -- Number of states. */
|
||||
#define YYNSTATES 224
|
||||
#define YYNSTATES 223
|
||||
|
||||
#define YYUNDEFTOK 2
|
||||
#define YYMAXUTOK 307
|
||||
@ -687,10 +687,10 @@ static const yytype_uint16 yytoknum[] =
|
||||
};
|
||||
# endif
|
||||
|
||||
#define YYPACT_NINF -99
|
||||
#define YYPACT_NINF -101
|
||||
|
||||
#define yypact_value_is_default(Yystate) \
|
||||
(!!((Yystate) == (-99)))
|
||||
(!!((Yystate) == (-101)))
|
||||
|
||||
#define YYTABLE_NINF -4
|
||||
|
||||
@ -701,29 +701,29 @@ static const yytype_uint16 yytoknum[] =
|
||||
STATE-NUM. */
|
||||
static const yytype_int16 yypact[] =
|
||||
{
|
||||
136, 15, -99, -99, -99, -99, -2, 29, 43, 236,
|
||||
221, 221, 10, -99, 75, 81, 90, 91, 247, -99,
|
||||
47, 178, -99, -99, -99, 199, -99, -99, -99, -99,
|
||||
-99, 8, 11, 55, 97, 16, -99, -99, -99, -99,
|
||||
-99, -99, 253, -99, -99, 5, 18, 18, -99, -99,
|
||||
-99, 86, 66, 76, 82, 98, -99, 59, -99, -99,
|
||||
-99, 72, 101, 22, -99, 103, 35, -99, 108, 36,
|
||||
-99, 116, 39, -99, -99, -99, -99, 221, 41, -99,
|
||||
-18, 15, -99, 15, -99, 146, 147, 148, -99, 43,
|
||||
-99, -99, 236, 16, 16, 16, -99, 149, 154, 155,
|
||||
156, 49, -99, 10, 16, 236, 75, -99, 10, 81,
|
||||
-99, 221, 90, -99, 221, 91, -99, -99, 195, -99,
|
||||
115, -99, -99, -99, -99, -99, -99, -99, -99, -99,
|
||||
-99, -99, -99, -99, -99, -99, -99, -99, 128, -99,
|
||||
134, -99, 135, -99, 135, -99, 15, -99, 212, 138,
|
||||
-99, -99, -99, 42, 131, 77, 115, -24, -99, -99,
|
||||
-99, 83, 141, -99, -99, -99, 42, -99, 145, 150,
|
||||
159, 160, 162, 169, 171, 177, 179, -99, -99, -99,
|
||||
-99, -99, -99, -99, -99, -99, 102, -99, 42, 141,
|
||||
175, 213, 215, 217, 223, 224, 225, 227, 228, -99,
|
||||
-99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
|
||||
-99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
|
||||
-99, -99, -99, -99
|
||||
75, 48, -101, -101, -101, -101, 0, 9, 76, 176,
|
||||
180, 180, 12, -101, 34, 49, 70, 91, 210, -101,
|
||||
80, 117, -101, -101, -101, 160, -101, -101, -101, -101,
|
||||
-101, 10, 13, -1, 98, 20, -101, -101, -101, -101,
|
||||
-101, -101, 217, -101, -101, 7, 73, 73, -101, -101,
|
||||
-101, 139, 59, 82, 85, 86, -101, 136, -101, -101,
|
||||
-101, 151, 89, 57, -101, 97, 60, -101, 103, 69,
|
||||
-101, 108, 99, -101, -101, -101, -101, 180, 100, -101,
|
||||
11, 48, -101, 48, -101, 138, 145, 163, -101, 76,
|
||||
-101, -101, 176, 20, 20, 20, -101, 149, 171, 188,
|
||||
193, 169, -101, 12, 20, 176, 34, -101, 12, 49,
|
||||
-101, 180, 70, -101, 180, 91, -101, -101, 154, -101,
|
||||
105, -101, -101, -101, -101, -101, -101, -101, -101, -101,
|
||||
-101, -101, -101, -101, -101, -101, -101, -101, 134, -101,
|
||||
166, -101, 167, -101, 167, -101, -101, -101, 170, 174,
|
||||
-101, -101, 161, 178, -20, 105, 185, -101, -101, -101,
|
||||
200, 186, -101, -101, -101, 161, -101, 177, 205, 206,
|
||||
207, 208, 209, 212, 213, 214, -101, -101, -101, -101,
|
||||
-101, -101, -101, -101, -101, 3, -101, 161, 186, 222,
|
||||
239, 244, 245, 246, 247, 248, 249, 250, -101, -101,
|
||||
-101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
|
||||
-101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
|
||||
-101, -101, -101
|
||||
};
|
||||
|
||||
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
|
||||
@ -745,35 +745,35 @@ static const yytype_uint8 yydefact[] =
|
||||
13, 0, 0, 11, 0, 0, 14, 116, 0, 10,
|
||||
64, 21, 23, 28, 29, 30, 25, 103, 18, 16,
|
||||
17, 45, 46, 47, 48, 50, 108, 19, 101, 100,
|
||||
106, 105, 114, 113, 111, 110, 0, 32, 66, 34,
|
||||
42, 71, 33, 70, 0, 67, 64, 81, 128, 130,
|
||||
129, 0, 69, 124, 126, 65, 0, 43, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 72, 73, 76,
|
||||
74, 75, 77, 78, 79, 80, 0, 127, 0, 68,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 82,
|
||||
83, 84, 85, 86, 87, 88, 89, 90, 91, 94,
|
||||
95, 92, 93, 44, 125, 56, 55, 61, 60, 62,
|
||||
63, 57, 58, 59
|
||||
106, 105, 114, 113, 111, 110, 33, 32, 66, 34,
|
||||
42, 71, 70, 0, 67, 64, 81, 128, 130, 129,
|
||||
0, 69, 124, 126, 65, 0, 43, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 72, 73, 76, 74,
|
||||
75, 77, 78, 79, 80, 0, 127, 0, 68, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 82, 83,
|
||||
84, 85, 86, 87, 88, 89, 90, 91, 94, 95,
|
||||
92, 93, 44, 125, 56, 55, 61, 60, 62, 63,
|
||||
57, 58, 59
|
||||
};
|
||||
|
||||
/* YYPGOTO[NTERM-NUM]. */
|
||||
static const yytype_int16 yypgoto[] =
|
||||
{
|
||||
-99, -99, -99, 220, -99, -99, -28, 157, -99, 129,
|
||||
158, 206, -99, 107, 163, -99, -98, 201, -99, -99,
|
||||
-99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
|
||||
-99, 214, -99, 161, -5, -99, 164, 166, -99, 151,
|
||||
-99, 165, -10, 192, 252, 105, 84, 114, -29
|
||||
-101, -101, -101, 240, -101, -101, 150, 173, -101, 142,
|
||||
172, 221, -101, 110, 165, -101, -100, 211, -101, -101,
|
||||
-101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
|
||||
-101, 216, -101, 164, -7, -101, 162, 168, -101, 157,
|
||||
-101, 175, -10, 192, 255, 109, 88, 118, -27
|
||||
};
|
||||
|
||||
/* YYDEFGOTO[NTERM-NUM]. */
|
||||
static const yytype_int16 yydefgoto[] =
|
||||
{
|
||||
-1, 20, 21, 22, 23, 24, 35, 36, 78, 79,
|
||||
43, 44, 149, 150, 56, 57, 58, 59, 177, 178,
|
||||
179, 180, 181, 182, 183, 184, 185, 151, 154, 157,
|
||||
186, 60, 63, 64, 80, 66, 67, 61, 72, 73,
|
||||
69, 70, 25, 26, 27, 162, 163, 164, 30
|
||||
43, 44, 149, 150, 56, 57, 58, 59, 176, 177,
|
||||
178, 179, 180, 181, 182, 183, 184, 151, 153, 156,
|
||||
185, 60, 63, 64, 80, 66, 67, 61, 72, 73,
|
||||
69, 70, 25, 26, 27, 161, 162, 163, 30
|
||||
};
|
||||
|
||||
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
|
||||
@ -781,68 +781,68 @@ static const yytype_int16 yydefgoto[] =
|
||||
number is the opposite. If YYTABLE_NINF, syntax error. */
|
||||
static const yytype_int16 yytable[] =
|
||||
{
|
||||
46, 47, 82, 84, 45, 136, 90, 31, 28, 81,
|
||||
33, 28, 83, 48, 49, 28, 28, 93, 94, 95,
|
||||
120, 92, 28, 33, 168, 169, 170, 171, 172, 173,
|
||||
174, 175, 176, 104, 107, 28, 28, 110, 32, 28,
|
||||
113, 28, 50, 116, 92, 34, 158, 75, 33, 119,
|
||||
51, 159, 121, 29, 122, 89, 29, 77, 34, 106,
|
||||
29, 29, 48, 49, 128, 129, 130, 29, 52, 53,
|
||||
54, 55, 109, 112, 160, 137, 115, 33, 118, 62,
|
||||
29, 29, 161, 34, 29, 65, 29, 158, 213, 48,
|
||||
49, 50, 159, 85, 68, 71, 86, 87, 101, 51,
|
||||
138, 142, 88, 97, 144, 48, 49, 52, 53, 54,
|
||||
55, 103, 34, 98, 166, 160, 77, 152, 50, 99,
|
||||
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
|
||||
209, 210, 211, 212, 50, 100, -2, 1, 155, 105,
|
||||
2, 108, 51, 3, 4, 5, 111, 6, 7, 8,
|
||||
9, 10, 11, 12, 114, 123, 124, 125, 148, 131,
|
||||
52, 53, 54, 55, 132, 133, 134, 92, 13, 14,
|
||||
15, 16, 17, 103, 77, 165, 18, 156, -3, 1,
|
||||
188, 19, 2, 190, 215, 3, 4, 5, 191, 6,
|
||||
7, 8, 9, 10, 11, 12, 146, 192, 193, 37,
|
||||
194, 38, 39, 37, 40, 38, 39, 195, 40, 196,
|
||||
13, 14, 15, 16, 17, 197, 2, 198, 18, 3,
|
||||
4, 5, 216, 19, 217, 2, 218, 41, 3, 4,
|
||||
5, 41, 219, 220, 221, 42, 222, 223, 77, 42,
|
||||
37, 76, 38, 39, 13, 40, 126, 147, 91, 153,
|
||||
127, 2, 18, 13, 3, 4, 5, 37, 102, 38,
|
||||
39, 18, 40, 167, 135, 96, 145, 139, 41, 117,
|
||||
74, 189, 214, 141, 140, 187, 42, 143, 0, 13,
|
||||
0, 0, 0, 0, 0, 41
|
||||
46, 47, 45, 136, 82, 84, 48, 49, 90, 31,
|
||||
28, 81, 33, 28, 83, 48, 49, 165, 32, 77,
|
||||
28, 198, 199, 200, 201, 202, 203, 204, 205, 206,
|
||||
207, 208, 209, 210, 211, 50, 107, 85, 62, 110,
|
||||
86, 87, 113, 51, 50, 116, 92, 34, 28, 120,
|
||||
92, 119, 51, 65, 121, 29, 122, 28, 29, 89,
|
||||
28, 52, 53, 54, 55, 29, 128, 129, 130, 28,
|
||||
52, 53, 54, 55, 68, -2, 1, 137, 33, 2,
|
||||
75, 33, 3, 4, 5, 212, 6, 7, 8, 9,
|
||||
10, 11, 12, 29, 106, 71, 97, 109, 138, 28,
|
||||
28, 142, 29, 88, 144, 29, 112, 13, 14, 15,
|
||||
16, 17, 77, 34, 29, 18, 34, -3, 1, 98,
|
||||
19, 2, 99, 100, 3, 4, 5, 105, 6, 7,
|
||||
8, 9, 10, 11, 12, 108, 115, 118, 154, 48,
|
||||
49, 111, 48, 49, 29, 29, 114, 123, 148, 13,
|
||||
14, 15, 16, 17, 124, 146, 33, 18, 37, 131,
|
||||
38, 39, 19, 40, 37, 157, 38, 39, 50, 40,
|
||||
158, 50, 125, 92, 2, 101, 51, 3, 4, 5,
|
||||
37, 132, 38, 39, 2, 40, 41, 3, 4, 5,
|
||||
103, 34, 41, 159, 42, 93, 94, 95, 133, 77,
|
||||
42, 160, 13, 134, 157, 103, 77, 152, 41, 158,
|
||||
18, 104, 13, 155, 2, 189, 42, 3, 4, 5,
|
||||
18, 37, 164, 38, 39, 187, 40, 52, 53, 54,
|
||||
55, 214, 159, 167, 168, 169, 170, 171, 172, 173,
|
||||
174, 175, 13, 190, 191, 192, 193, 194, 215, 41,
|
||||
195, 196, 197, 216, 217, 218, 219, 220, 221, 222,
|
||||
147, 76, 126, 91, 127, 166, 135, 96, 102, 117,
|
||||
139, 141, 145, 74, 188, 213, 140, 0, 186, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 143
|
||||
};
|
||||
|
||||
static const yytype_int16 yycheck[] =
|
||||
{
|
||||
10, 11, 31, 32, 9, 103, 35, 9, 0, 1,
|
||||
5, 0, 1, 3, 4, 0, 0, 45, 46, 47,
|
||||
38, 39, 0, 5, 48, 49, 50, 51, 52, 53,
|
||||
54, 55, 56, 61, 63, 0, 0, 66, 9, 0,
|
||||
69, 0, 32, 72, 39, 40, 4, 0, 5, 78,
|
||||
40, 9, 81, 45, 83, 39, 45, 39, 40, 37,
|
||||
45, 45, 3, 4, 93, 94, 95, 45, 58, 59,
|
||||
60, 61, 37, 37, 32, 104, 37, 5, 37, 4,
|
||||
45, 45, 40, 40, 45, 4, 45, 4, 186, 3,
|
||||
4, 32, 9, 38, 4, 4, 41, 42, 39, 40,
|
||||
105, 111, 5, 37, 114, 3, 4, 58, 59, 60,
|
||||
61, 39, 40, 37, 37, 32, 39, 146, 32, 37,
|
||||
18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
|
||||
28, 29, 30, 31, 32, 37, 0, 1, 148, 38,
|
||||
4, 38, 40, 7, 8, 9, 38, 11, 12, 13,
|
||||
14, 15, 16, 17, 38, 9, 9, 9, 43, 10,
|
||||
58, 59, 60, 61, 10, 10, 10, 39, 32, 33,
|
||||
34, 35, 36, 39, 39, 44, 40, 39, 0, 1,
|
||||
39, 45, 4, 38, 9, 7, 8, 9, 38, 11,
|
||||
12, 13, 14, 15, 16, 17, 1, 38, 38, 4,
|
||||
38, 6, 7, 4, 9, 6, 7, 38, 9, 38,
|
||||
32, 33, 34, 35, 36, 38, 4, 38, 40, 7,
|
||||
8, 9, 9, 45, 9, 4, 9, 32, 7, 8,
|
||||
9, 32, 9, 9, 9, 40, 9, 9, 39, 40,
|
||||
4, 21, 6, 7, 32, 9, 89, 118, 42, 37,
|
||||
92, 4, 40, 32, 7, 8, 9, 4, 57, 6,
|
||||
7, 40, 9, 156, 101, 51, 115, 106, 32, 77,
|
||||
18, 166, 188, 109, 108, 161, 40, 112, -1, 32,
|
||||
-1, -1, -1, -1, -1, 32
|
||||
10, 11, 9, 103, 31, 32, 3, 4, 35, 9,
|
||||
0, 1, 5, 0, 1, 3, 4, 37, 9, 39,
|
||||
0, 18, 19, 20, 21, 22, 23, 24, 25, 26,
|
||||
27, 28, 29, 30, 31, 32, 63, 38, 4, 66,
|
||||
41, 42, 69, 40, 32, 72, 39, 40, 0, 38,
|
||||
39, 78, 40, 4, 81, 45, 83, 0, 45, 39,
|
||||
0, 58, 59, 60, 61, 45, 93, 94, 95, 0,
|
||||
58, 59, 60, 61, 4, 0, 1, 104, 5, 4,
|
||||
0, 5, 7, 8, 9, 185, 11, 12, 13, 14,
|
||||
15, 16, 17, 45, 37, 4, 37, 37, 105, 0,
|
||||
0, 111, 45, 5, 114, 45, 37, 32, 33, 34,
|
||||
35, 36, 39, 40, 45, 40, 40, 0, 1, 37,
|
||||
45, 4, 37, 37, 7, 8, 9, 38, 11, 12,
|
||||
13, 14, 15, 16, 17, 38, 37, 37, 148, 3,
|
||||
4, 38, 3, 4, 45, 45, 38, 9, 43, 32,
|
||||
33, 34, 35, 36, 9, 1, 5, 40, 4, 10,
|
||||
6, 7, 45, 9, 4, 4, 6, 7, 32, 9,
|
||||
9, 32, 9, 39, 4, 39, 40, 7, 8, 9,
|
||||
4, 10, 6, 7, 4, 9, 32, 7, 8, 9,
|
||||
39, 40, 32, 32, 40, 45, 46, 47, 10, 39,
|
||||
40, 40, 32, 10, 4, 39, 39, 37, 32, 9,
|
||||
40, 61, 32, 39, 4, 38, 40, 7, 8, 9,
|
||||
40, 4, 44, 6, 7, 39, 9, 58, 59, 60,
|
||||
61, 9, 32, 48, 49, 50, 51, 52, 53, 54,
|
||||
55, 56, 32, 38, 38, 38, 38, 38, 9, 32,
|
||||
38, 38, 38, 9, 9, 9, 9, 9, 9, 9,
|
||||
118, 21, 89, 42, 92, 155, 101, 51, 57, 77,
|
||||
106, 109, 115, 18, 165, 187, 108, -1, 160, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, 112
|
||||
};
|
||||
|
||||
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
|
||||
@ -864,14 +864,14 @@ static const yytype_uint8 yystos[] =
|
||||
38, 110, 110, 9, 9, 9, 69, 72, 110, 110,
|
||||
110, 10, 10, 10, 10, 76, 78, 110, 96, 95,
|
||||
99, 98, 104, 103, 104, 101, 1, 71, 43, 74,
|
||||
75, 89, 110, 37, 90, 104, 39, 91, 4, 9,
|
||||
32, 40, 107, 108, 109, 44, 37, 75, 48, 49,
|
||||
50, 51, 52, 53, 54, 55, 56, 80, 81, 82,
|
||||
83, 84, 85, 86, 87, 88, 92, 109, 39, 107,
|
||||
38, 38, 38, 38, 38, 38, 38, 38, 38, 18,
|
||||
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
|
||||
29, 30, 31, 78, 108, 9, 9, 9, 9, 9,
|
||||
9, 9, 9, 9
|
||||
75, 89, 37, 90, 104, 39, 91, 4, 9, 32,
|
||||
40, 107, 108, 109, 44, 37, 75, 48, 49, 50,
|
||||
51, 52, 53, 54, 55, 56, 80, 81, 82, 83,
|
||||
84, 85, 86, 87, 88, 92, 109, 39, 107, 38,
|
||||
38, 38, 38, 38, 38, 38, 38, 38, 18, 19,
|
||||
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
|
||||
30, 31, 78, 108, 9, 9, 9, 9, 9, 9,
|
||||
9, 9, 9
|
||||
};
|
||||
|
||||
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
|
||||
@ -899,7 +899,7 @@ static const yytype_uint8 yyr2[] =
|
||||
0, 2, 0, 1, 1, 2, 1, 2, 1, 1,
|
||||
3, 3, 3, 3, 3, 3, 4, 4, 4, 4,
|
||||
3, 4, 3, 4, 1, 3, 1, 2, 3, 3,
|
||||
3, 1, 3, 4, 3, 1, 2, 1, 1, 1,
|
||||
3, 1, 3, 3, 3, 1, 2, 1, 1, 1,
|
||||
1, 1, 1, 3, 4, 3, 3, 3, 3, 1,
|
||||
3, 1, 2, 1, 2, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 0, 3, 0, 1, 3, 2,
|
||||
@ -1846,7 +1846,7 @@ yyreduce:
|
||||
#line 323 "gram.y" /* yacc.c:1652 */
|
||||
{
|
||||
yyerrok;
|
||||
(yyval.privilege) = (yyvsp[-3].privilege);
|
||||
(yyval.privilege) = (yyvsp[-2].privilege);
|
||||
}
|
||||
#line 1846 "gram.c" /* yacc.c:1652 */
|
||||
break;
|
||||
|
@ -320,7 +320,7 @@ privileges : privilege
|
||||
HLTQ_CONCAT($1, $3, entries);
|
||||
$$ = $1;
|
||||
}
|
||||
| privileges ':' error eol {
|
||||
| privileges ':' error {
|
||||
yyerrok;
|
||||
$$ = $1;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user