fix(lexer): 在token拷贝函数中添加空指针检查
添加了对源指针的空值断言检查,防止在scc_lexer_tok_copy函数中 传入空指针导致崩溃 refactor(pproc): 优化数组到环形缓冲区转换函数的参数命名 修改scc_lexer_array_to_ring函数参数名从array改为move_array, 并在转换后初始化原数组结构,确保资源正确管理 fix(pproc): 修复宏处理中的内存泄漏问题 - 在fill_replacements函数中初始化token结构并正确释放 - 在scc_pproc_parse_function_macro中释放args向量 - 修改token消费逻辑以避免重复消费 - 在指令处理中添加token释放操作 fix(pproc): 改进宏展开过程中的资源管理 - 修复concatenate_tokens函数中的潜在内存泄漏 - 添加对输出向量的断言检查 - 正确释放输入环形缓冲区 - 重构参数拆分逻辑以避免内存泄漏 refactor(pproc): 优化条件解析和宏表设置逻辑 - 修正parse_constant_condition函数中的返回值初始化 - 在宏表设置时处理重复宏名称的情况 - 改进预处理器的整体资源清理流程 fix(pproc): 修复预处理器中的多个内存泄漏 - 在测试代码中添加正确的资源释放 - 修正格式化字符串中的类型匹配 - 优化环形缓冲区初始化逻辑以处理零容量情况
This commit is contained in:
@@ -16,9 +16,10 @@ typedef struct {
|
||||
} scc_pproc_expand_t;
|
||||
|
||||
static inline scc_lexer_tok_ring_t
|
||||
scc_lexer_array_to_ring(scc_lexer_tok_vec_t *array) {
|
||||
scc_lexer_array_to_ring(scc_lexer_tok_vec_t *move_array) {
|
||||
scc_lexer_tok_ring_t ret;
|
||||
scc_ring_by_buffer(ret, array->data, array->size);
|
||||
scc_ring_by_buffer(ret, move_array->data, move_array->size);
|
||||
scc_vec_init(*move_array);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user