Commit 4af37c6
committed
sqlite: prevent reentrant statement finalization
Track statement execution depth while calling sqlite3_step(). Reject
close() and deserialize() while a statement is executing so callbacks
cannot finalize the active statement and crash.
Signed-off-by: Kamat, Trivikram <16024985+trivikr@users.noreply.github.com>
Assisted-by: codex:gpt-5.6-sol1 parent 598693b commit 4af37c6
4 files changed
Lines changed: 51 additions & 4 deletions
File tree
- src
- test/parallel
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1043 | 1043 | | |
1044 | 1044 | | |
1045 | 1045 | | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
| 1049 | + | |
| 1050 | + | |
| 1051 | + | |
1046 | 1052 | | |
1047 | 1053 | | |
1048 | 1054 | | |
| |||
1434 | 1440 | | |
1435 | 1441 | | |
1436 | 1442 | | |
| 1443 | + | |
| 1444 | + | |
| 1445 | + | |
| 1446 | + | |
1437 | 1447 | | |
1438 | 1448 | | |
1439 | 1449 | | |
| |||
1829 | 1839 | | |
1830 | 1840 | | |
1831 | 1841 | | |
| 1842 | + | |
| 1843 | + | |
| 1844 | + | |
| 1845 | + | |
1832 | 1846 | | |
1833 | 1847 | | |
1834 | 1848 | | |
| |||
2889 | 2903 | | |
2890 | 2904 | | |
2891 | 2905 | | |
2892 | | - | |
| 2906 | + | |
2893 | 2907 | | |
2894 | 2908 | | |
2895 | 2909 | | |
| |||
2931 | 2945 | | |
2932 | 2946 | | |
2933 | 2947 | | |
2934 | | - | |
| 2948 | + | |
2935 | 2949 | | |
2936 | 2950 | | |
2937 | 2951 | | |
| |||
3009 | 3023 | | |
3010 | 3024 | | |
3011 | 3025 | | |
3012 | | - | |
| 3026 | + | |
3013 | 3027 | | |
3014 | 3028 | | |
3015 | 3029 | | |
| |||
3736 | 3750 | | |
3737 | 3751 | | |
3738 | 3752 | | |
3739 | | - | |
| 3753 | + | |
3740 | 3754 | | |
3741 | 3755 | | |
3742 | 3756 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
234 | 234 | | |
235 | 235 | | |
236 | 236 | | |
| 237 | + | |
237 | 238 | | |
238 | 239 | | |
239 | 240 | | |
240 | 241 | | |
241 | 242 | | |
242 | 243 | | |
243 | 244 | | |
| 245 | + | |
244 | 246 | | |
245 | 247 | | |
246 | 248 | | |
| |||
250 | 252 | | |
251 | 253 | | |
252 | 254 | | |
| 255 | + | |
253 | 256 | | |
254 | 257 | | |
255 | 258 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
9 | 22 | | |
10 | 23 | | |
11 | 24 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
85 | 102 | | |
86 | 103 | | |
87 | 104 | | |
| |||
0 commit comments