FlashDB icon indicating copy to clipboard operation
FlashDB copied to clipboard

部分错误处理日志输出不合理,如果数据库没有被初始化, db name 可能是空值

Open jhbdream opened this issue 8 months ago • 6 comments

FDB_INFO("Error: KV (%s) isn't initialize OK.\n", db_name(db));

jhbdream avatar Jun 17 '25 01:06 jhbdream

https://github.com/armink/FlashDB/blob/6710c6d57f235e0b679a3ac728d567a472a77b19/src/fdb_kvdb.c#L656 https://github.com/armink/FlashDB/blob/6710c6d57f235e0b679a3ac728d567a472a77b19/src/fdb_kvdb.c#L657

jhbdream avatar Jun 17 '25 02:06 jhbdream

如果 db 没有初始化,db_name 大概率是空值,此时使用printf输出会引发软件异常。

jhbdream avatar Jun 17 '25 02:06 jhbdream

确实有可能,方便提交一个 PR 吗?

armink avatar Jun 17 '25 13:06 armink

https://github.com/armink/FlashDB/blob/6710c6d57f235e0b679a3ac728d567a472a77b19/src/fdb_tsdb.c#L24

这里的宏定义也有对未初始化指针访问

jhbdream avatar Jun 19 '25 03:06 jhbdream

我可以想到的方案只能是去掉相关打印内容, 不确定是否合适

jhbdream avatar Jun 19 '25 03:06 jhbdream

FDB_INFO("Error: KVDB isn't initialize OK.\n");

把 name 不打印就行了

armink avatar Jun 20 '25 02:06 armink