Commit 10782e4
* Fix panic in decode_cef when recovering from invalid data
When recovering from an invalid extension value the escape sequence state was
not cleared. This caused the parser to attempt to unescape the next extension which
resulted in invalid data or a panic.
Fixes #30010
* Encapsulate non-ragel state
Document and encapsulate the non-ragel state variables.
```
$ benchcmp before.txt after.txt
benchmark old ns/op new ns/op delta
BenchmarkEventUnpack-12 1991 1544 -22.45%
benchmark old allocs new allocs delta
BenchmarkEventUnpack-12 13 13 +0.00%
benchmark old bytes new bytes delta
BenchmarkEventUnpack-12 642 642 +0.00%
```
(cherry picked from commit 47b8d02)
Co-authored-by: Andrew Kroh <[email protected]>
1 parent a574d89 commit 10782e4
File tree
5 files changed
+219
-173
lines changed- x-pack/filebeat/processors/decode_cef/cef
5 files changed
+219
-173
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
| 63 | + | |
63 | 64 | | |
64 | 65 | | |
65 | 66 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
152 | 152 | | |
153 | 153 | | |
154 | 154 | | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
155 | 159 | | |
156 | 160 | | |
157 | | - | |
| 161 | + | |
158 | 162 | | |
159 | 163 | | |
160 | 164 | | |
161 | 165 | | |
162 | 166 | | |
163 | 167 | | |
164 | | - | |
| 168 | + | |
| 169 | + | |
165 | 170 | | |
166 | 171 | | |
167 | 172 | | |
168 | | - | |
| 173 | + | |
169 | 174 | | |
170 | 175 | | |
171 | | - | |
172 | | - | |
173 | | - | |
| 176 | + | |
| 177 | + | |
174 | 178 | | |
175 | | - | |
176 | | - | |
| 179 | + | |
177 | 180 | | |
178 | 181 | | |
179 | 182 | | |
| |||
186 | 189 | | |
187 | 190 | | |
188 | 191 | | |
| 192 | + | |
| 193 | + | |
189 | 194 | | |
190 | | - | |
| 195 | + | |
191 | 196 | | |
192 | 197 | | |
193 | 198 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
18 | 36 | | |
19 | 37 | | |
20 | 38 | | |
21 | 39 | | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | 40 | | |
27 | | - | |
28 | | - | |
| 41 | + | |
| 42 | + | |
29 | 43 | | |
30 | 44 | | |
31 | 45 | | |
| |||
42 | 56 | | |
43 | 57 | | |
44 | 58 | | |
45 | | - | |
| 59 | + | |
46 | 60 | | |
47 | 61 | | |
48 | 62 | | |
49 | 63 | | |
50 | 64 | | |
51 | | - | |
52 | | - | |
| 65 | + | |
| 66 | + | |
53 | 67 | | |
54 | 68 | | |
55 | | - | |
56 | | - | |
| 69 | + | |
| 70 | + | |
57 | 71 | | |
58 | 72 | | |
59 | | - | |
60 | | - | |
| 73 | + | |
| 74 | + | |
61 | 75 | | |
62 | 76 | | |
63 | | - | |
64 | | - | |
| 77 | + | |
| 78 | + | |
65 | 79 | | |
66 | 80 | | |
67 | | - | |
68 | | - | |
| 81 | + | |
| 82 | + | |
69 | 83 | | |
70 | 84 | | |
71 | 85 | | |
72 | 86 | | |
73 | 87 | | |
74 | 88 | | |
75 | | - | |
76 | | - | |
77 | | - | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
78 | 92 | | |
79 | | - | |
| 93 | + | |
80 | 94 | | |
81 | 95 | | |
82 | | - | |
83 | | - | |
| 96 | + | |
| 97 | + | |
84 | 98 | | |
85 | 99 | | |
86 | | - | |
| 100 | + | |
87 | 101 | | |
88 | 102 | | |
89 | 103 | | |
90 | | - | |
91 | | - | |
92 | | - | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
93 | 107 | | |
94 | 108 | | |
95 | 109 | | |
96 | | - | |
| 110 | + | |
97 | 111 | | |
98 | 112 | | |
99 | 113 | | |
100 | | - | |
| 114 | + | |
101 | 115 | | |
102 | 116 | | |
103 | 117 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
389 | 389 | | |
390 | 390 | | |
391 | 391 | | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
392 | 404 | | |
393 | 405 | | |
394 | 406 | | |
| |||
0 commit comments