Commit 7799fbd
authored
fix: avoid NPE on uninitialized XML::Node structs (v1.19.x) (#3645)
**What problem is this PR intended to solve?**
[CRuby] Fixed a null pointer dereference when methods are called on
uninitialized wrapper objects (e.g. via `allocate`); these now raise
instead of crashing the process. See
[GHSA-9cv2-cfxc-v4v2](GHSA-9cv2-cfxc-v4v2)
for more information.
**Have you included adequate test coverage?**
Yes.
**Does this change affect the behavior of either the C or the Java
implementations?**
The vulnerability affects CRuby only. The equivalent guard was added to
the Java implementation for parity; both now raise rather than crash.6 files changed
Lines changed: 36 additions & 5 deletions
File tree
- ext
- java/nokogiri
- nokogiri
- test/xml
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
103 | 106 | | |
104 | 107 | | |
105 | 108 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
181 | 181 | | |
182 | 182 | | |
183 | 183 | | |
184 | | - | |
185 | | - | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
186 | 195 | | |
187 | 196 | | |
188 | 197 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
712 | 712 | | |
713 | 713 | | |
714 | 714 | | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
715 | 718 | | |
716 | 719 | | |
717 | 720 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2351 | 2351 | | |
2352 | 2352 | | |
2353 | 2353 | | |
2354 | | - | |
2355 | | - | |
2356 | | - | |
| 2354 | + | |
2357 | 2355 | | |
2358 | 2356 | | |
2359 | 2357 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
16 | 24 | | |
17 | 25 | | |
18 | 26 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
651 | 651 | | |
652 | 652 | | |
653 | 653 | | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
654 | 664 | | |
655 | 665 | | |
656 | 666 | | |
| |||
0 commit comments