Commit c58796c
committed
fix(cypher,store): prevent crashes from buffer overflow, OOM, and NULL stmts
- cypher: Add bounds check in lex_string_literal to prevent stack buffer
overflow on string literals >4096 bytes. Escape sequences are always
parsed correctly even past the truncation boundary.
- cypher: Add malloc/calloc NULL checks in parse_props, parse_rel_types,
parse_in_condition, and parse_case_expr — both initial allocation and
safe_realloc growth paths — to prevent OOM crashes.
- store: Add sqlite3_prepare_v2 return code checks at 3 sites in
cbm_store_schema_info and collect_pkg_names. Schema function cleans up
partially populated output on failure. collect_pkg_names returns
CBM_NOT_FOUND (not 0) to distinguish errors from empty results.1 parent 1d30971 commit c58796c
3 files changed
Lines changed: 92 additions & 17 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
| 95 | + | |
95 | 96 | | |
96 | 97 | | |
97 | 98 | | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
111 | 114 | | |
112 | 115 | | |
113 | | - | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
114 | 119 | | |
115 | 120 | | |
116 | 121 | | |
| |||
469 | 474 | | |
470 | 475 | | |
471 | 476 | | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
472 | 480 | | |
473 | 481 | | |
474 | 482 | | |
| |||
489 | 497 | | |
490 | 498 | | |
491 | 499 | | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
492 | 503 | | |
493 | 504 | | |
494 | 505 | | |
| |||
569 | 580 | | |
570 | 581 | | |
571 | 582 | | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
572 | 586 | | |
573 | 587 | | |
574 | 588 | | |
| |||
589 | 603 | | |
590 | 604 | | |
591 | 605 | | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
592 | 609 | | |
593 | 610 | | |
594 | 611 | | |
| |||
762 | 779 | | |
763 | 780 | | |
764 | 781 | | |
| 782 | + | |
| 783 | + | |
| 784 | + | |
| 785 | + | |
| 786 | + | |
| 787 | + | |
765 | 788 | | |
766 | 789 | | |
767 | 790 | | |
| |||
770 | 793 | | |
771 | 794 | | |
772 | 795 | | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
773 | 802 | | |
774 | 803 | | |
775 | 804 | | |
| |||
1061 | 1090 | | |
1062 | 1091 | | |
1063 | 1092 | | |
| 1093 | + | |
| 1094 | + | |
| 1095 | + | |
1064 | 1096 | | |
1065 | 1097 | | |
| 1098 | + | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
1066 | 1102 | | |
1067 | 1103 | | |
1068 | 1104 | | |
| |||
1075 | 1111 | | |
1076 | 1112 | | |
1077 | 1113 | | |
| 1114 | + | |
| 1115 | + | |
| 1116 | + | |
| 1117 | + | |
| 1118 | + | |
1078 | 1119 | | |
1079 | 1120 | | |
1080 | 1121 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2552 | 2552 | | |
2553 | 2553 | | |
2554 | 2554 | | |
2555 | | - | |
| 2555 | + | |
| 2556 | + | |
| 2557 | + | |
2556 | 2558 | | |
2557 | 2559 | | |
2558 | 2560 | | |
| |||
2577 | 2579 | | |
2578 | 2580 | | |
2579 | 2581 | | |
2580 | | - | |
| 2582 | + | |
| 2583 | + | |
| 2584 | + | |
| 2585 | + | |
2581 | 2586 | | |
2582 | 2587 | | |
2583 | 2588 | | |
| |||
3283 | 3288 | | |
3284 | 3289 | | |
3285 | 3290 | | |
3286 | | - | |
| 3291 | + | |
| 3292 | + | |
| 3293 | + | |
3287 | 3294 | | |
3288 | 3295 | | |
3289 | 3296 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
81 | 107 | | |
82 | 108 | | |
83 | 109 | | |
| |||
2064 | 2090 | | |
2065 | 2091 | | |
2066 | 2092 | | |
| 2093 | + | |
2067 | 2094 | | |
2068 | 2095 | | |
2069 | 2096 | | |
| |||
0 commit comments